簡體   English   中英

鏈接服務器的 SQL Server OPENROWSET OLE DB 提供程序“MSDASQL”“(空)”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM