Daten von SQL2005 in MySQL

egydd

Neuer Benutzer
Beiträge
2
Hallo,

ich bin neu im Forum und habe trotz intensiver Suche im Forum und im Internet nichts gefunden, daher meine Hoffnung, dass mir hier im Forum jemand einen entscheidenden Tipp geben kann.
Ich habe eine SQL2005-Datenbank auf Server2003 (32-bit) und eine MySQL-Datenbank (V5.3) auf Server2008R2 (64-bit). Die Hauptdatenbank ist SQL2005, MySQL brauche ich für Intranet. Ich habe in MySQL eine idente Kopie einer Tabelle der SQL-Datenbank angelegt und muss
a) die Kopie in MySQL mit Daten aus der SQL2005-DB Initial befüllen
b) die Kopie in MySQL immer sofort aktualisieren, sobald sich in der Tabelle der SQL-DB eine Änderung ergibt. Das heißt, geändert oder gelöscht werden die Datensätze in der SQL-DB nicht, es können nur neue Datensätze dazukommen, diese sollen automatisch in der MySQL-Tabelle aufscheinen.

Ich habe in der SQL2005-DB einen Linked Server erstellt mit Anbieter MSDASQL und dem MySQL 5.1 ODBC-Treiber. Vom SQL-Server aus kann ich mir mit " Select * from Openquery...." die leere Tabelle in MySQL ansehen.
Ich habe es aber bisher nicht geschafft, einen funktionierenden Trigger auf der SQL-Tabelle zu hinterlegen - vielleicht weil die Tabelle ein View ist?
Ich habe es bisher auch nicht geschafft, vom SQL-Server aus die Daten mit INSERT INTO OPENQUERY in die MySQL-Tabelle zu kopieren.

Jetzt hoffe ich auf den einen oder anderen Tipp, was ich bisher falsch gemacht haben könnte.

Vielen Dank im Voraus

LG

egydd
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.394
Also erstmal warum erstellst du nicht eine View bzw. einen Verbindungsserver in MySQL um deine MSSQL2005 Tabelle zu sehen?

Bei einem Verbindungsserver in MSSQL müsste eigentlich ein normaler Insert Befehl funktionieren
Code:
INSERT INTO    [<servername>\<instanzname>].[<datenbank>].[<schema>].[<tabelle>](
            pk,
            spalte1,
            spalte2)
VALUES    (    pk,
            wert1,
            wert2)

Wenn der MSSQL auf den MySQL schreiben soll (was ich bisher noch nie gemacht hatte, keine Ahnung ob das geht), brauchst du in jedem Fall einen Nutzer mit schreibrechten.
 

egydd

Neuer Benutzer
Beiträge
2
Vielen Dank für die Antwort. Ich hatte ja ursprünglich versucht, vom MySQL aus auf den MSSQL2005 zu zugreifen - habe es aber irgendwie nicht geschafft. Daher der Verbindungsserver auf MSSQL. Ich hatte allerdings nicht an einen Verbindungsserver in MySQL gedacht. Werde schauen, ob ich das hinbekomme.
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.394
Ich weiß auch nicht ob MySQL das kann. In dem Fall wäre es aber am sinnigsten die Tabelle nicht zu duplizieren sondern nur als View im anderen Server anzulegen sofern beide zeitgleich verfügbar sind.
 
Oben