2012-04-19 53 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