Verteilte Transaktionen zwischen SQL Server 2000 und MySQL funktionierten nicht mehr
-
16-10-2019 - |
Frage
Wir haben Daten erfolgreich aus einer MySQL -SLAVE -Datenbank in eine SQL Server 2000 -Datenbank kopiert. Der MySQL -Server ist ein verknüpfter Server. Ich habe versucht, v3.51 und v5.1.8 des ODBC -Anschlusses zu verwenden, das meine MySQL bereitgestellt hat.
Wenn Sie einfach versuchen, in eine temporäre Tabelle in SQL Server aus einer Tabelle in MySQL einzutreten OPENQUERY
verursacht den folgenden Fehler:
Server: MSG 7391, Stufe 16, Status 1, Zeile 1
Die Operation konnte nicht durchgeführt werden, da der OLE DB -Anbieter 'msdasql' keine verteilte Transaktion beginnen konnte.
OLE/DB -Anbieter zurückgegebene Nachricht: [MySQL] [ODBC 3.51 -Treiber] Optionale Funktionen nicht unterstützt
OLE DB ERROR TRACE [OLE/DB -Anbieter 'msdasql' iTransactionJoin :: joinTransaction zurückgegeben 0x8004d00a].
Dieser Fehler begann, als die Replikation zwischen dem MySQL -Master und dem Sklaven fehlschlug. Dies wurde seitdem behoben, aber der obige Fehler bleibt bestehen.
Gibt es etwas mehr, das auf der MySQL -Seite getan werden muss? Irgendwelche Vorschläge für die SQL Server -Seite? Ich habe bereits versucht, DTC neu zu starten und den Server neu zu starten.
Vielen Dank
Lösung
Jemand hat eine Lösung für ein verwandtes Problem auf Stackoverflow gepostet:
https://stackoverflow.com/questions/5945435/sql-server-2000-linked-server/6651704#6651704
Andere Tipps
Meine beste Vermutung ist, dass der verteilte Transaktionskoordinator, den Sie auf den Linux -Boxen verwenden, neu gestartet werden muss oder die Konfiguration irgendwie geändert und behoben werden muss.