ENIX.DQ 發表於 2016-1-28 11:37:17

連結伺服器 (null) 的 OLE DB 提供者 Microsoft.ACE.OLEDB.12.0 報

這篇我必須自己收藏起來

作業系統:Windows10 Pro 繁體中文
SQL Server:SQL Server 2014 Express
OFFICE:安裝OFFICE 2013 plus

問題描述:

在SSMS的環境下,想要使用Microsoft.ACE.OLEDB.12.0讀取EXCEL檔案,卻出下底下這樣的訊息:

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


一開始是用Windows驗證登入,會出現這個錯誤訊息,如果改用SQL Server驗證,並將登入的帳號加入伺服器角色sysadmin則可以正常存取EXCEL檔案。

經查,此一問題發生於使用Windows驗證登入的情形下,沒有「C:\Users\MSSQL$SQLEXPRESS\AppData\Local」這個資料夾的存取權限,SQL Server無法建立檔案提供操作。

解決方法:先使用工作管理員,找到SQL Server 主程式的PID,再使用工具 Processmonitor ( https://technet.microsoft.com/zh-tw/sysinternals/processmonitor ) 找到該PID後,再找到與Close File相關的Operation,即可發現路徑位置,再設定這個路徑的讀寫權限,問題解決。


原文:
http://mydiamond.pixnet.net/blog/post/62033257-%E8%A8%8A%E6%81%AF-7415-%EF%BC%8C%E7%89%B9%E5%AE%9A%E5%AD%98%E5%8F%96%E8%87%B3-ole-db-%E6%8F%90%E4%BE%9B%E8%80%85-'microsoft.a

ENIX.DQ 發表於 2018-5-21 16:29:07

<2018-05-21 補充1>

這個問題經常會發生在本來好好的系統,卻因為安裝了Windows update,造成權限設定失效,導致SQL SERVER無法正常開啟EXCEL檔。
造成問題Windows update PATCH不一定是SQL Server的,可能是office或是Windows系統相關的。

<2018-05-21 補充2>

設定這兩個資料夾的權限,其中 ""MSSQLSERVER ""為 SQL Server的UserName
C:\Users\MSSQLSERVER\AppData\Local\Temp
C:Windows\ServiceProfiles\NetworkService\AppData\Local

開Full Control 使用權限給這些帳號
System, MSSQLSERVER, and Administrators, Network Service

資料來源:https://stackoverflow.com/questions/26267224/the-ole-db-provider-microsoft-ace-oledb-12-0-for-linked-server-null
頁: [1]
查看完整版本: 連結伺服器 (null) 的 OLE DB 提供者 Microsoft.ACE.OLEDB.12.0 報