Link Microsoft Excel to SQL Server

 

Untuk mengimpor data dari file Excel (Excel 2007 (xlsx) atau versi diatas ke SQL Server, driver Microsoft.ACE.OLEDB.12.0 OLE DB harus diinstal. Driver Microsoft.ACE.OLEDB.12.0 OLE DB dapat digunakan pada SQL Server edisi 32-bit untuk file Excel 2007, atau yang lebih baru, atau pada edisi SQL Server 64-bit untuk file Excel apa pun.

Ada satu penyedia lagi; Microsoft. Jet. OLEDB.4.0 yang dapat digunakan pada SQL Server edisi 32-bit untuk file Excel 2003 ( versi dibawah ).

Untuk melihat daftar driver connection yang tersedia di SQL Server dapat dilihat di bawah folder Providers:


Download dan menginstal driver Microsoft.ACE.OLEDB.12.0 OLE DB. Ada dua versi driver Microsoft.ACE.OLEDB.12.0 OLE DB yang dapat diinstal:

  • AccessDatabaseEngine.exe adalah untuk SQL Server versi 32-bit
  • AccessDatabaseEngine_X64.exe adalah untuk SQL Server versi 64-bit


Catatan : Jika AccessDatabaseEngine_X64.exe telah diinstal, dan SQL Server versi 32-bit digunakan. maka akan muncul error untuk queri data Excel :


Jika AccessDatabaseEngine sudah diinstal sesuai OS Bit tersebut,  maka Microsoft.ACE.OLEDB.12.0 OLE DB akan muncul dalam daftar folder Providers di SQL Server:



Setelah itu adalah melakukan pembuatan link :

1. Pada folder Linked Servers --> Providers --> Microsoft.ACE.OLEDB.12.0 kemudna klik kanan pilih New Linked Server:


2. Setelah itu akan muncul dialog New Linked Server:


3. Pilih Others data source, lalu pilih OLE DB Microsoft Office 12.0 Access Database Engine:


4.  Pada kolom pada dialog New Linkded Server 

  • Linked server : EXCELDATA  untuk ditambahkan sebagai server link (mis. Excel). 
  • Product name : Excel
  • Data source : path lengkap dan nama file dari file Excel (C:\Test\Excel_Data.xlsx).
  • Provider string :  : Excel 12.0:


Catatan : jika menggunakan file Excel 97-2003 (.xls), di kolom Provider string harus memasukkan “Excel 8.0”. Karena kalau salah memasukan nama di kolom Provider string, maka akan muncul error :


5. Selanjutnya klik OK jika sudah benar mengisikan data diatas, maka akan muncul Linked Servers : EXCELDATA


Tetapi ketika klik EXCELDATA untuk mencari Tables dari database tersebut, akan muncul error :


6. Untuk mengatasi error tersebut , tutup SQL Server Management Studio (SSMS) dan jalankan lagi, sebagai administrator:


7. Klik Linked Servers : EXCELDATA maka akan muncul  lembar Excel. Perhatikan bahwa setiap lembar ditampilkan sebagai tabel SQL Server dengan tanda dolar ($) di akhir:



Keterangan :

Untuk membuat linked server Excel bisa juga menggunakan sintak seperti dibawah :

EXEC sp_addlinkedserver

     @server = N'EXCELDATA',

     @srvproduct = N'Excel',

     @provider = N'Microsoft.ACE.OLEDB.12.0',

     @datasrc = N'C:\Test\Excel_Data.xlsx',

     @provstr = N'Excel 12.0';



Baca juga ertikel yang berkaitan :