福爾壽司的辦案手札 Case7. 訊息 7399,層級 16,狀態 1,行 1

  • 4249
  • 0
  • 2012-03-22

摘要:訊息 7399,層級 16,狀態 1,行 1

1.使用sql 撈取 excel sheet資料

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\rawdata(1).xls', [Sheet2$])

2.error msg

訊息 7399,層級 16,狀態 1,行 1
連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.Jet.OLEDB.4.0" 報告了錯誤。提供者並未給予任何關於錯誤的資訊。
訊息 7303,層級 16,狀態 1,行 1
無法初始化連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.Jet.OLEDB.4.0" 的資料來源物件。

3.修改sp_configure
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

→same error


4.使用SQL Server介面區組態設定, 設定功能的介面區組態=>特定遠端查詢, 將啟用OPENROWSET和OPENDATASOURCE支援選項勾選起來
→same error

5.restart SQL Server
→same error

6.
Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。
關閉開啟的文件
成功

 

參考資料:

msdn社群

使用OpenRowSet操作Excel

如何從 Excel 將資料匯入到 SQL Server 中