Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Transakcja rozproszona na serwerze połączonym między serwerem sql a mysql

Teoretycznie powinno to działać.

Sugerowałbym różne kroki, aby rozwiązać ten problem:

  1. Czy sprawdziłeś już silnik pamięci masowej MySql? Wygląda tylko na obsługę silnika pamięci masowej InnoDB dystrybucja transakcji według dokumentu MySql:https://dev.mysql.com/doc/refman/5.7/en/xa.html

  2. Sprawdź, czy możesz przełączyć się na użycie połączenia konfiguracyjnego MySQL Connectors, aby połączyć się z MySql w SQL Server zamiast z dostawcą OLEDB, który stwierdza w dokumencie MySql powyżej, który obsługuje transakcję dystrybucyjną.

  3. Jeśli nadal nie działa, może to oznaczać, że sama usługa MSDTC ma jakiś problem, sprawdź, czy możesz to wyizolować, na przykład uzyskać instancję SQL Server działającą na serwerze MySql (jeśli używasz Windows MySql) lub spróbuj zainstalować Windows MySql na Sql Server box, aby uzyskać dystrybucję transakcji między dwoma MySql. Które mogłyby wskazać Ci rzeczywisty problem.

EDYTUJ:

Niestety wygląda na to, że udowodniłeś, że to nie działa, przyjrzałem się bliżej dokumentowi MySql i przepraszam, wygląda na to, że nie przeczytałem go dokładnie, jest napisane:

Obecnie wśród łączników MySQL, MySQL Connector/J 5.0.0 i nowsze wspierają bezpośrednio XA

I przez innego Googlinga znalazłem to:https://bugs.mysql.com/bug.php?id=37283, ludzie zgłaszają ten błąd wiele lat temu i oznaczyli go jako nie naprawi.

Ktoś coś zasugerował tutaj:https://social.msdn.microsoft.com/Forums/en-US/fc07937d-8b42-43da-8c75-3a4966ab95f9/xa-msdtc?forum=windowstransactionsprogramming, czyli wdrożenie własnego XA- Zgodne menedżery zasobów do użycia przez Twoją aplikację (https://msdn.microsoft.com/en-us/library/ms684317.aspx)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obniż koszty licencjonowania SQL Server

  2. Jaki jest najlepszy sposób automatycznego generowania instrukcji INSERT dla tabeli programu SQL Server?

  3. Jak mogę wykonać kopię zapasową zdalnej bazy danych SQL Server na dysku lokalnym?

  4. Jak ustawić limit czasu skryptu SQL Server z poziomu skryptu?

  5. Pobieranie danych z procedury składowanej za pomocą Entity Framework