2012-04-19 15 views
6

Wir gehen von einem SQL-Server 2008 Backend zu einem MySQL Backend. Wie ist die Interoperabilität zwischen SQL-Server und MySQL?SQL-Server und MySQL Interoperabilität?

Können wir SQL-Abfragen ausführen, die Tabellen aus Datenbanken auf den Servern referenzieren?

Zum Beispiel ist es möglich: Pseudocode

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

Wenn nicht, welche Optionen können Sie empfehlen für Daten über SQL-Server 2008 und MySQL integrieren?

Würde LINQ eine Erleichterung in Bezug auf die Kombination von Daten aus SQL-Server und MySQL bieten?

Antwort

8

Es ist möglich, einen MySQL-Server als Verbindungsserver zu SQL Server hinzuzufügen.

Sobald Sie es eingerichtet haben Sie OPENQUERY wie folgt aus abfragen können:

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

Mark Sie ... danke! Das war genau das, wonach ich suchte! Das hat wunderbar funktioniert! Die SQL-Beispiele im Tut waren ein wenig wackelig. Also, für jeden, der danach sucht, gibt es ein Beispiel sql JOIN zwischen unserem SQL2008Server und MySQLServer: SELECT t1.colA, t2.colB FROM SQLdbName.dbo.tablename als t1 INNER JOIN OPENQUERY (MySQLverknüpfter Servername, 'SELECT colA, colB FROM Tabellenname') als t2 ON t1.colA = t2.colA – s15199d

+0

@ s15199d: Danke für den Kommentar. Ich gebe Ihren SQL aus dem Kommentar in meine Antwort ein, damit andere leichter lesen können. Hoffe, das ist in Ordnung. –