Von MSSQL via ODBC zu MySQL
Mal merken: Um zwei verschieden Datenbanksysteme miteinander zu verbinden, also wenn man unabhängig vom DBS die Datenstrukturen ansprechen will, ist ODBC das Zauberwort, zumindest wenn man sich auf Windows-Maschinen bewegt. Ganz einfach ist es, wenn das eine DBS sich MSSQL nennt, denn dann steht die Funktion sp_addlinkedserver zur Verfügung, die eben eine solche Verbindung etablieren kann. Formal und für MySQL sieht das so aus:
EXEC master.dbo.sp_addlinkedserver @server = N'MYSQL', @srvproduct=N'MySQL', @provider=N'MSDASQL', @provstr=N'DRIVER={MySQL ODBC 3.51 Driver} ;SERVER=127.0.0.1;DATABASE=database; USER=root; PASSWORD=secret; OPTION=3' GO SELECT * FROM openquery(MYSQL,'select * from table') GO Exec sp_dropserver MYSQL, droplogins GO
Jetzt müssen nur noch anständige Fehlermeldungen generiert werden, denn mit [Microsoft][ODBC SQL Server Driver]Timeout kann ich persönlich nicht viel Anfangen und sämtliche Lösungsversuche, wie Timeout vom SQL Server hochsetzten (was logisch wäre), oder den ODBC-Timeout in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\Version\Engines\ODBC\ConnectionTimeout erhöhen (geh ich auch noch mit) schlagen fehl. Oder liegt es an mir und ich muss zwischen den Zeilen lesen!?
Jup, soll muss es wohl sein, denn das Timout kommt nicht vom DBMS, sondern vom Query Analyser!! - Naja sei’s drum - Anfrage händisch geschrieben, Problem gelöst und das ist die Hauptsache. :)
Abgelegt unter >>
Tags >>
- insgesamt: 805 // heute: 3 // zuletzt: 21. November 2008

