- 需安裝Microsoft.ACE.OLEDB.12.0:https://www.microsoft.com/zh-tw/download/details.aspx?id=13255#filelist
- 確認是否有安裝成功
- 需先設定安全配置,使用指令
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
- 下指令匯入資料庫,『D:\Text.xlsx』為檔案位置,『[sheet1$]』為檔案中要匯入的sheet名稱
SELECT *
FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=D:\Test.xlsx')... [sheet1$]
- 如果到這邊執行還有問題
消息 7399……鏈接伺服器 "(null)" 的 OLE DB 訪問介面 "Microsoft.ACE.OLEDB.12.0" 報錯。訪問被拒絕。消息 7301……無法從鏈接伺服器 "(null)" 的 OLE DB 訪問介面 "Microsoft.ACE.OLEDB.12.0" 獲取所需的介面("IID_IDBCreateCommand")。消息 7302……無法創建鏈接服務器 "(null)" 的 OLE DB 訪問接口 "MSDASC" 的實例
參考解決方案:將相關服務的登陸身份改為 local system
操作方法:
運行 services.msc,找到SQL Server(MSSQLSERVER),右鍵屬性,登陸相關選項卡,本地系統帳戶。
或
開始---所有程序---MicrosoftSQL Server 2008 R2(或其他版本)---配置工具---SQLServer 配置管理器,找到SQL Server(MSSQLSERVER) ,右鍵屬性,登陸選項卡,內置帳戶改為Local system。
最後,若在MSSQL JOB中也要用到此接口,則SQL Server代理(MSSQLSERVER)這個服務也要做相同修改。
Ref.
http://blog.csdn.net/helloword4217/article/details/19000277