Microsoft SQL Server memungkinkan Anda mengimpor data dari file Excel ke database menggunakan bahasa T-SQL bawaan dalam kueri SQL. Hari ini saya akan memberi tahu Anda secara rinci bagaimana hal itu dilakukan, kondisi apa yang harus dipenuhi untuk membuat operasi ini berhasil, memberi tahu Anda tentang fitur impor untuk kasus konfigurasi SQL server yang paling umum dan memberikan prosedur spesifik dan contoh praktis Show Saya akan mulai dengan mengatakan bahwa Anda dapat mengimpor data dari Excel ke Microsoft SQL Server menggunakan "Kueri Terdistribusi" dan "Server Tertaut". Anda mungkin sudah mengetahui hal ini, karena saya telah menulisnya lebih dari sekali (referensi ke materi yang relevan diberikan di atas) Anda dapat mengakses file Excel dan mengimpor data ke Microsoft SQL Server menggunakan instruksi T-SQL OPENDATASOURCE, OPENROWSET atau OPENQUERY Namun, dalam artikel di atas saya telah melewatkan beberapa poin penting, salah satunya adalah bahwa semua konfigurasi SQL Server berbeda, karena banyak yang memiliki masalah dan kesalahan yang berbeda selama eksekusi kueri terdistribusi dan panggilan ke server terkait Saya juga menjelaskan cara mendownload data dari Excel yang sekarang sudah ketinggalan zaman, jadi hari ini saya akan mencoba memberi Anda sedikit informasi tentang cara mengimpor data dari file Excel ke Microsoft SQL Server dalam bahasa T-SQL pengantarJadi, seperti yang saya katakan, konfigurasi server SQL memainkan peran yang sangat penting di sini, khususnya versi server mana yang diinstal, x86 atau x64 Jika kita berbicara tentang versi terbaru Microsoft SQL Server 2016–2019, mereka hanya x64 dan diinstal pada Windows versi 64-bit Atas dasar ini, saya akan membagi artikel menjadi beberapa bagian, di mana masing-masing saya akan memberi tahu Anda tentang fitur mengimpor data dari Excel untuk kasus konfigurasi yang paling umum dan memberi Anda urutan tindakan tertentu. Untuk mengetahui dengan cepat versi SQL Server mana yang diinstal di komputer Anda, Anda dapat membuat kueri SQL sederhana
Akses ke file Excel dan, karenanya, impor data ke Microsoft SQL Server dilakukan oleh penyedia khusus (vendor). Untuk bekerja dengan Excel di Microsoft SQL Server biasanya digunakan
Dalam semua contoh di bawah ini, saya akan mengirimkan kueri SELECT sederhana untuk memilih data dari file Excel untuk memeriksa akses ke data di file Excel. Untuk mengimpor data (mengunggah data ke database), Anda dapat menggunakan metode apa pun yang nyaman bagi Anda, mis. g. SELECT INTO atau INSERT INTO konstruksi Selain itu, disarankan untuk menutup file Excel saat mengaksesnya dalam kueri terdistribusi, serta menentukan jalur ke file tanpa spasi (meskipun server SQL modern dapat bekerja dengan spasi) IMPOR DATA DARI EXCEL 2003 (XLS FILE) KE MICROSOFT SQL SERVER X86Langkah 1 — Periksa Microsoft. Jet. OLEDB. 4. 0 penyedia di SQL ServerHal pertama yang perlu kita mulai adalah memeriksa apakah Microsoft. Jet. OLEDB. 4. 0 provider terdaftar di SQL Server, karena dalam hal ini kita perlu menggunakan provider tersebut. Ini dapat dilakukan dengan menggunakan instruksi SQL berikut
Dataset yang dihasilkan harus berisi string dengan Microsoft. Jet. OLEDB. 4. 0. Jika tidak ada penyedia seperti itu, kemungkinan besar tidak ada Excel 2003 yang diinstal di sistem dan, karenanya, harus diinstal Langkah 2 — Memberikan hak pengguna ke direktori sementaraKeunikan kueri terdistribusi dan bekerja dengan server Excel terkait di SQL Server versi x86 adalah bahwa terlepas dari nama akun mana yang mengirimkan kueri SQL ke Excel, akun ini harus memiliki hak untuk menulis ke direktori sementara akun tempat Karena vendor OLE DB membuat file sementara selama kueri di direktori sementara SQL Server menggunakan kredensial pengguna yang menjalankan kueri Jadi, jika layanan SQL Server berjalan atas nama layanan lokal atau jaringan, Anda perlu memberikan izin yang sesuai ke direktori sementara layanan ini kepada semua pengguna yang akan mengirim kueri terdistribusi dan menghubungi server Excel terkait (jika Ini dapat dilakukan dengan menggunakan icacls utilitas baris perintah bawaan Misalnya, untuk layanan lokal, perintahnya akan terlihat seperti ini
Untuk layanan jaringan
Di tempat UserName, berikan nama pengguna yang mengirimkan permintaan Langkah 3 — Aktifkan kueri terdistribusi di SQL ServerSecara default, kemampuan untuk menggunakan kueri terdistribusi, khususnya fungsi OPENDATASOURCE dan OPENROWSET, dilarang di Microsoft SQL Server, sehingga fitur ini harus diaktifkan terlebih dahulu Ini diaktifkan menggunakan prosedur tersimpan sistem sp_configure, yang bertanggung jawab atas parameter sistem server. Kita perlu mengatur parameter Ad Hoc Distributed Queries menjadi 1, untuk melakukan ini kita menjalankan instruksi SQL berikut
Di bawah ini saya akan memberikan beberapa pilihan untuk mengakses file Excel (TestExcel. xls) OPENROWSET
SUMBER TERBUKA
Sama seperti pada contoh sebelumnya, pertama-tama kita periksa apakah kita memiliki ISP yang perlu kita instal, dalam hal ini kita memerlukan Microsoft. KARTU AS. OLEDB. 12. 0
Jika tidak ada penyedia, itu harus diinstal. Berikut tautan ke unduhan ISP. https. // www. microsoft. com/en-us/download/details. aspx?id=13255 Pilih dan unduh file yang sesuai dengan arsitektur x86 (mis. e. atas nama tanpa x64) Langkah 3 — Memberikan hak pengguna ke direktori sementaraDalam hal ini, kami juga memberikan hak atas direktori sementara layanan lokal atau jaringan kepada semua pengguna yang akan mengirim kueri SQL ke file Excel Kami menggunakan icacls utilitas baris perintah yang sama Untuk layanan lokal
Untuk layanan jaringan
Di tempat UserName, berikan nama pengguna yang mengirimkan permintaan Langkah 4 — Aktifkan Kueri Terdistribusi di SQL ServerAktifkan kemampuan untuk menggunakan OPENDATASOURCE dan OPENROWSET di Microsoft SQL Server, saya ulangi bahwa fitur ini dinonaktifkan secara default
Dalam hal ini, Anda juga perlu mengonfigurasi penyedia Microsoft. KARTU AS. OLEDB. 12. 0. Untuk melakukan ini, aktifkan parameter penyedia berikut (tentukan 0 alih-alih 1 untuk menonaktifkan)
Jika parameter ini tidak disertakan, kemungkinan besar akan muncul kesalahan, kira-kira sebagai berikut Langkah 6 — Jalankan kueri SQL, akses ke file Excel Contoh mengakses file Excel (TestExcel. xlsx) OPENROWSET
SUMBER TERBUKA
Server Tertaut
Dalam hal ini kami juga menggunakan Microsoft. KARTU AS. OLEDB. 12. 0 penyedia, periksa dulu apakah terdaftar di server
Jika penyedia tidak diinstal, itu harus diunduh dan diinstal. https. // www. microsoft. com/en-us/download/details. aspx?id=13255 Unduh file x64 Langkah 3 — Aktifkan kueri terdistribusi di SQL ServerAda juga kebutuhan untuk mengaktifkan kemampuan untuk menggunakan kueri terdistribusi (OPENDATASOURCE dan OPENROWSET) di Microsoft SQL Server x64, jadi aktifkan terlebih dahulu dengan mengikuti instruksi yang persis sama
Dalam hal ini, kemungkinan besar, konfigurasi penyedia tidak diperlukan, jadi pertama-tama coba jalankan kueri SQL (lihat data di Excel), dan jika terjadi kesalahan (semua dengan pesan yang sama 7399 dan 7330), coba aktifkan
Di sini parameter yang sama digunakan dalam kueri SQL seperti pada contoh sebelumnya. Untuk kenyamanan, saya akan menggandakannya sekali lagi Contoh mengakses file Excel (TestExcel. xlsx) OPENROWSET
SUMBER TERBUKA
Server Tertaut
Terakhir, saya akan mengelompokkan tindakan yang akan dilakukan tergantung pada rilis SQL Server (x68 atau x64) dan versi file Excel (xls atau xlsx) ke dalam satu tabel untuk kenyamanan Anda Bagaimana saya bisa menggunakan data Excel dalam kueri SQL?Cara Membuat Koneksi Excel . Klik Dapatkan Data. Pilih “Dari Basis Data” Pilih Dari database SQL Server Masukkan Nama Server SQL. Secara opsional, Anda dapat memasukkan nama database di sini jika Anda mengetahuinya. Jika tidak, Anda akan dapat memilih database di langkah selanjutnya Bagaimana cara mengimpor data dalam kueri SQL?Masukkan kueri basis data asli . Pilih Data > Dapatkan Data > Dari Database > Dari Database SQL Server. . Tentukan Server dan Basis Data tempat Anda ingin mengimpor data menggunakan kueri basis data asli Pilih Opsi Lanjutan Masukkan kueri basis data asli Anda di kotak pernyataan SQL. . Pilih Oke Bagaimana cara mengimpor lembar Excel di SQL Server 2012 menggunakan kueri?Di SQL Server Management Studio, masukkan detail, klik Sambungkan, klik kanan database, dan klik Impor Data. Untuk mengimpor, pilih Impor Data > Selanjutnya > Excel > Jelajahi, buka file, dan ikuti langkah-langkah untuk mengimpor data dari file . |