[英]Linked server “Data source name not found and no default driver specified” error
我使用 Microsoft OLE DB Provider for ODBC Drivers 創建了一個鏈接服務器:
EXEC master.dbo.sp_addlinkedserver @server = N'TEST',
@srvproduct=N'Microsoft Visual FoxPro Driver',
@provider=N'MSDASQL',
@datasrc=N'TEST'
它仍然工作正常,我仍然使用 WINdows 身份驗證模式,但是當我創建登錄用戶並切換到 SQL 身份驗證時,它不起作用。
使用 SQL 身份驗證需要進行哪些更改?
在我啟用的提供者中:“嵌套查詢”、“允許處理”、僅級別零“。
錯誤是:
鏈接服務器“TEST”的 OLE DB 提供程序“MSDASQL”返回消息“[Microsoft][ODBC 驅動程序管理器] 連接字符串屬性無效”。 鏈接服務器“TEST”的 OLE DB 提供程序“MSDASQL”返回消息“[Microsoft][ODBC 驅動程序管理器] 未找到數據源名稱且未指定默認驅動程序”。 消息 7303,級別 16,狀態 1,第 1 行無法初始化鏈接服務器“TEST”的 OLE DB 訪問接口“MSDASQL”的數據源對象。
由於這些問題之一,可能會出現此錯誤消息。
sp_addlinkedserver
指定的初始化參數之一( data_source, location, provider_string, or catalog
)對於此提供程序不正確。
驗證為鏈接服務器定義的這些參數,通過執行
sp_addlinkedserver
,對於給定的提供程序是正確的。
發送給提供商的登錄名和密碼無效。
通過sp_addlinkedsrvlogin
驗證是否為鏈接服務器和當前 SQL Server 登錄配置了有效的登錄名和密碼。
通過這篇文章
更新
在鏈接服務器連接期間(例如,當它處理分布式查詢時),發送服務器提供登錄名和密碼以代表其連接到接收服務器。 要使此連接正常工作,您必須使用 SQL Server 系統存儲過程在鏈接服務器之間創建登錄映射。 -- 這里和這里
創建或更新 SQL Server 本地實例上的登錄名與遠程服務器上的安全帳戶之間的映射。
sp_addlinkedsrvlogin [ @rmtsrvname= ] 'rmtsrvname'
[ , [ @useself= ] 'TRUE' | 'FALSE' | 'NULL']
[ , [ @locallogin= ] 'locallogin' ]
[ , [ @rmtuser= ] 'rmtuser' ]
[ , [ @rmtpassword= ] 'rmtpassword' ]
如果使用 Windows 身份驗證與鏈接服務器的連接工作正常,但不使用 SQL Server 身份驗證,我將查看鏈接服務器的屬性並確保選擇“安全”選項卡,身份驗證模式已啟用:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.