2012-04-19 102 views
6

我們將從SQL-Server 2008後端轉到MySQL後端。 SQL-Server和MySQL之間的互操作性是什麼?SQL-Server和MySQL的互操作性?

我們是否能夠運行SQL查詢來跨服務器引用數據庫中的表?

例如,這是可能的:僞代碼

SELECT * 
FROM 
     [SQL2008Server].[databaseA].[DBO].[table1] as t1 
    INNER JOIN 
     [MySQLServer].[databaseB].[dbo].[table2] as t2 
      ON t1.id = t2.fkid 

如果沒有,你可以推薦哪些選項跨越的SQL Server 2008和MySQL的結合數據?

LINQ提供任何解決方案來結合來自SQL-Server和MySQL的數據嗎?

回答

8

可以將MySQL服務器作爲鏈接服務器添加到SQL Server中。

一旦你設置它,您可以查詢使用OPENQUERY這樣的:

SELECT t1.colA, t2.colB 
FROM SQLdbName.dbo.tablename AS t1 
INNER JOIN OPENQUERY(MySQLlinkedservername, 
        'SELECT colA, colB FROM tablename') AS t2 
ON t1.colA = t2.colA 
+0

馬克...謝謝!那正是我期待的!這工作很好! tut中的sql示例有點過分。因此,對於任何搜索它的人來說,我們的SQL2008Server和MySQLServer之間有一個示例sql JOIN: SELECT t1.colA,t2.colB FROM SQLdbName.dbo.tablename as t1 INNER JOIN OPENQUERY(MySQLlinkedservername,'SELECT colA,colB FROM tablename' )as t2 ON t1.colA = t2.colA – s15199d 2012-04-20 20:27:08

+0

@ s15199d:感謝您的評論。我將你的SQL從註釋中放到我的答案中,以便其他人閱讀時更容易。希望沒關係。 – 2012-04-22 07:49:32