2017-06-13 229 views
0

我想將我的sql數據庫作爲鏈接服務器連接到SQL服務器。我的sql服務器在我的本地機器上,MSSql服務器不是。 爲此我創建了一個數據源,如:enter image description here將MySQL作爲鏈接服務器連接到SQL服務器

我執行

Exec master.dbo.sp_addlinkedserver 
@server=N'MySQL', 
@srvproduct=N'MySQL', 
@provider=N'MSDASQL', 
@datasrc=N'MySQL', 
@provstr=N'DRIVER={MySQL ODBC 5.3 Uniocode 
Driver};SERVER=localhost;PORT=3306;DATABASE=testmysql; 
USER=root;PASSWORD=pass;OPTION=3;' 

Exec master.dbo.sp_addlinkedsrvlogin 
@rmtsrvname =N'MySQL', 
@locallogin=NULL, 
@rmtuser=N'root', 
@rmtpassword=N'pass' 

現在我可以看到鏈接的服務器管理工​​作室,但如果展開樹或查詢服務器,我收到以下錯誤: enter image description here

回答

1

localhost始終引用使用/定義該引用的機器。如果sql server實例在機器x上(並且像「我的本地機器」這樣的術語在這裏沒有用處)並且MySQL服務器在機器y上,那麼使用localhost不能引用另一個(不管方向)。在這種安排中,sql server的localhost指的是機器x - 運行sql server的機器。

您需要提供適當的地址或主機名。