sql >> Databáze >  >> RDS >> Sqlserver

Distribuovaná transakce na propojeném serveru mezi serverem SQL a serverem mysql

Teoreticky by to mělo fungovat.

Navrhoval bych různé kroky, jak to vyřešit:

  1. Už jste zkontrolovali úložiště MySql? Vypadá to, že pouze podpora úložiště InnoDB podporuje distribuci transakcí podle dokumentu MySql:https://dev.mysql.com/doc/refman/5.7/en/xa.html

  2. Zjistěte, zda můžete přepnout na připojení k MySQL Connectors setup připojení pro připojení k MySql v SQL Serveru namísto poskytovatele OLEDB, který ve výše uvedeném dokumentu MySql uvádí podporu distribuce transakcí.

  3. Pokud stále nefunguje, je možné, že samotná služba MSDTC má nějaký problém, zjistěte, zda to dokážete izolovat, jako je spuštění instance SQL Serveru na serveru MySql (pokud používáte Windows MySql), nebo zkuste nainstalovat Windows MySql na Sql Server box pro získání distribuce transakcí mezi dvěma MySql. Což by vás mohlo nasměrovat na skutečný problém.

UPRAVIT:

Bohužel to vypadá, že jste dokázali, že to nefunguje, podíval jsem se blíže na dokument MySql a omlouvám se, vypadá to, že jsem ho nečetl důkladně, píše se:

V současné době mezi konektory MySQL podporuje XA přímo MySQL Connector/J 5.0.0 a vyšší

A nějakým dalším googlováním jsem našel toto:https://bugs.mysql.com/bug.php?id=37283, lidé nahlásili tuto chybu před mnoha lety a označili to jako neopraví.

Někdo něco navrhl zde:https://social.msdn.microsoft.com/Forums/en-US/fc07937d-8b42-43da-8c75-3a4966ab95f9/xa-msdtc?forum=windowstransactionsprogramming, což je implementace vašeho vlastního XA- Vyhovující správci zdrojů, které má vaše aplikace používat (https://msdn.microsoft.com/en-us/library/ms684317.aspx)



  1. Co dělat, když při použití ovladače ODBC Easysoft Oracle verze OCI nelze otevřít soubor sdíleného objektu?

  2. Přidání kroku úlohy do existující úlohy agenta SQL Server (T-SQL)

  3. SQL Server *=Operátor?

  4. Import oddílů InnoDB v MariaDB 10.0/10.1