Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara mengonfigurasi file Excel sebagai Server Tertaut di SQL Server?

Bagi mereka yang menggunakan SQL SERVER 2012+, Anda dapat menggunakan Penyedia Microsoft OLEDB 12.0 yang disertakan dengan SQL Server 2012+ dan yang memungkinkan Anda menggunakan file xlsx Excel 2007-2013 untuk kueri terdistribusi adhoc atau sebagai server tertaut. Contoh di bawah ini.

Buku kerja Excel 'Application.xlsx' memiliki 3 lembar kerja Application,Device,UserFirst Mengaktifkan Ad Hoc Query di Server.

USE MSDB
GO
sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OverRide
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE WITH OverRide
GO

EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
GO

EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1

Untuk Query Ad Hoc gunakan Fungsi OPENROWSET.

SELECT * FROM 
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel   8.0;Database=C:\Users\Administrator\Desktop\Application.xlsx;HDR=YES', 'SELECT * FROM [Application$]');

SELECT * FROM 
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel   8.0;Database=C:\Users\Administrator\Desktop\Application.xlsx;HDR=YES', 'SELECT * FROM [Device$]');

SELECT * FROM 
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel  8.0;Database=C:\Users\Administrator\Desktop\Application.xlsx;HDR=YES', 'SELECT * FROM [User$]');

Untuk Membuat Server Tertaut untuk format Excel 2007-2013:

USE MSDB
GO
EXEC sp_addLinkedServer
@server= 'XLSX_MATRIX',
@srvproduct = 'ACE 12.0',
@provider = 'Microsoft.ACE.OLEDB.12.0',
@datasrc = 'C:\Users\Administrator\Desktop\Application.xlsx',
@provstr = 'Excel 12.0; HDR=Yes'

Sekarang, kueri file excel Anda dengan dua cara:

SELECT * FROM OPENQUERY (XLSX_MATRIX, 'Select * from [Application$]')
SELECT * FROM OPENQUERY (XLSX_MATRIX, 'Select * from [Device$]')
SELECT * FROM OPENQUERY (XLSX_MATRIX, 'Select * from [User$]')

SELECT * FROM XLSX_MATRIX...[Application$]
SELECT * FROM XLSX_MATRIX...[Device$]
SELECT * FROM XLSX_MATRIX...[User$]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server CASE .. KETIKA .. IN pernyataan

  2. Menghubungkan RStudio ke SQL Server

  3. Kembalikan jumlah baris yang terpengaruh oleh pernyataan UPDATE

  4. Mengambil miliaran baris dari server jarak jauh?

  5. Tidak dapat menemukan objek karena tidak ada atau Anda tidak memiliki izin. Kesalahan di SQL Server