1. 程式人生 > 其它 >sql server 連線 EXCEL 直接查詢

sql server 連線 EXCEL 直接查詢

1 SQL SERVER 中 檢視有無訪問介面,以下其中任何一個即可. 沒有則下載Microsoft Access Database Engine 2016 Redistributable (Microsoft Access 2016 資料庫引擎可再發行程式包) 安裝

2 開啟 Ad Hoc Distributed Queries

啟用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
   

關閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

  

3 設定訪問介面 屬性

4 查詢,注意 sheet名稱後加上$符號.

--> ACE 引擎訪問 Excel 2007  
select * from OpenRowSet('Microsoft.ACE.OLEDB.16.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', 'select * from [Sheet1$]')  
select * from OpenRowSet('Microsoft.ACE.OLEDB.16.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', [
Sheet1$]) select * from OpenDataSource('Microsoft.ACE.OLEDB.16.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx')...[Sheet1$] select * from OpenDataSource('Microsoft.ACE.OLEDB.16.0', 'Data Source=D:/2007.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]

5