Próbowałem już od prawie tygodnia, aby transakcje rozproszone działały. Mam kilka procedur na MSSQL, które próbują wybrać dane z MySQL. Moją potrzebą jest zrobić to w jednej (!) Transakcji. W tym czasie skonfigurowałem połączenie ODBC na MSSQL z jedno-poziomowym sterownikiem MySQL z OpenLink, który stwierdza, że transakcje XA działają pomyślnie (istnieje przycisk testowy zintegrowany po skonfigurowaniu połączenia ODBC). Wtedy mam skonfigurować serwer połączony w MSSQL poprzez MSDASQL do tego połączenia ODBC, ale gdy robiTransakcje rozproszone między MySQL i MSSQL
begin distributed transaction
select * from optin..lu_source_proc
select * from openquery(optinxa, 'SELECT * FROM tbl_source_proc')
commit transaction
pojawia się błąd, że nie dalej transakcja może zostać uruchomiony wewnątrz rzeczywistej transakcji. (Der OLE DB-Anbieter "MSDASQL" für den Verbindungsserver "optinxa" hat die Meldung "Es können keine weiteren Transaktionen in dieser Sitzung gestartet werden." zurückgeben.
)
Kolejny test:
set transaction isolation level serializable
begin transaction
select * from optin..lu_source_proc
select * from openquery(optinxa, 'SELECT * FROM tbl_source_proc')
commit transaction
Wyniki w Der OLE DB-Anbieter "MSDASQL" für den Verbindungsserver "optinxa" hat die Meldung "[OpenLink][ODBC][Driver]Driver does not support this function" zurückgeben.
ale dlaczego states sterownik ODBC na konfigurowanie, że transakcje XA działają?
Czy znalazłeś sposób, aby rozwiązać ten problem? Mam problem w tym pytaniu http://stackoverflow.com/questions/30911206/distributed-transaction-on-linked-server-between-sql-server-and-mysql – ughai
Nie, nigdy tego nie robiłem. – rabudde