連結伺服器 (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
<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]