2012-04-19 19 views
6

Przechodzimy z backendu SQL-Server 2008 do backendu MySQL. Jaka jest interoperacyjność między SQL-Server i MySQL?Interoperacyjność SQL-Server i MySQL?

Czy będziemy mogli uruchamiać zapytania SQL, które odwołują się do tabel z baz danych na serwerach?

Na przykład, jest to możliwe: pseudokod

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

Jeśli nie, jakie opcje można polecić do integracji danych w SQL Server 2008 i MySQL?

Czy LINQ zapewniałoby jakąkolwiek ulgę w łączeniu danych z SQL-Server i MySQL?

Odpowiedz

8

Możliwe jest dodanie serwera MySQL do programu SQL Server jako połączonego serwera.

Po ustawieniu go można wyszukać za pomocą OPENQUERY tak:

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 ... dziękuję! Właśnie tego szukałem! To działało pięknie! Przykłady sql w tutorialu były trochę niewiarygodne. Tak więc dla każdego, kto szuka go, znajduje się przykładowe polecenie JOIN między naszym SQL2008Server i MySQLServer: SELECT t1.colA, t2.colB FROM SQLdbName.dbo.nazwa_tabeli jako t1 INNER JOIN OPENQUERY (MySQLlinkedservername, 'SELECT colA, colB FROM tablename') jako t2 ON t1.colA = t2.colA – s15199d

+0

@ s15199d: Dzięki za komentarz. Wstawiam twój SQL z komentarza do mojej odpowiedzi, aby inni łatwiej mogli go przeczytać. Mam nadzieję, że jest OK. –