![](/img/trans.png)
[英]The OLE DB provider “MSDASQL” for linked server “(null)” reported an error
[英]SQL Server OPENROWSET OLE DB provider “MSDASQL” for linked server “(null)”
首先,我使用此查詢配置臨時分布式查詢:
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO
SELECT * FROM
OPENROWSET('MSDASQL'
,'Driver={Microsoft Access Text Driver (.txt, .csv)};
DefaultDir=C:\CSV'
,'select * from smdr.csv') T
然后當我嘗試執行上述腳本時,我收到此錯誤:
鏈接服務器“(空)”的 OLE DB 提供程序“MSDASQL”返回消息“[Microsoft][ODBC 驅動程序管理器] 未找到數據源名稱且未指定默認驅動程序”。 消息 7303,級別 16,狀態 1,第 1 行無法初始化鏈接服務器“(空)”的 OLE DB 訪問接口“MSDASQL”的數據源對象。
我該如何解決這個問題?
這個問題已經解決了。 這是詳細信息。
SELECT * FROM OPENROWSET ('Microsoft.ACE.OLEDB.12.0', 'Text;Database=C:\CSV; ', 'SELECT * FROM smdr.csv')
錯誤:消息 7403,級別 16,狀態 1,第 31 行 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”尚未注冊。 FIX = 安裝“AccessDatabaseEngine_x64.exe”
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0',N'AllowInProcess',1 GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0',N'DynamicParameters',1 GO
鏈接服務器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回了消息“未指定的錯誤”。 消息 7303,級別 16,狀態 1,第 47 行無法初始化鏈接服務器“(空)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”的數據源對象。 FIX = EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 0 GO -- 或者在 Sql Management Studio 中轉到服務器對象 - 鏈接服務器 - 提供程序 - Microsoft.Jet.OLEDB.4.0然后選項並取消選中“允許進行中”。 FIX = 添加“-g512;” 到參數“啟動參數”值的前面。
消息 7399,級別 16,狀態 1,第 57 行鏈接服務器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”報告錯誤。 訪問被拒絕。 消息 7350,級別 16,狀態 2,第 57 行無法從鏈接服務器“(空)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”獲取列信息。 FIX = 將 SQL Server 數據引擎帳戶從“NT Service\\MSSQLServer”更改為具有訪問權限的域帳戶
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.