Ho provato per quasi una settimana a far funzionare le transazioni distribuite. Ho alcune procedure su MSSQL che cercano di selezionare i dati da MySQL. Il mio bisogno è di farlo in una (!) Transazione. Al momento ho impostato la connessione ODBC su MSSQL con il driver MySQL a livello singolo da OpenLink, che mi informa che le transazioni XA funzionano correttamente (c'è un pulsante di test integrato dopo aver configurato la connessione ODBC). Poi ho creato un server collegato in MSSQL via MSDASQL a questa connessione ODBC, ma quando si faTransazioni distribuite tra MySQL e MSSQL
begin distributed transaction
select * from optin..lu_source_proc
select * from openquery(optinxa, 'SELECT * FROM tbl_source_proc')
commit transaction
ottengo l'errore, che nessun ulteriore operazione potrebbe essere avviato all'interno della transazione reale. (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.
)
Un altro 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
Risultati in Der OLE DB-Anbieter "MSDASQL" für den Verbindungsserver "optinxa" hat die Meldung "[OpenLink][ODBC][Driver]Driver does not support this function" zurückgeben.
Ma perché gli stati il driver ODBC sulla configurazione, che le transazioni XA funzionano?
Hai trovato un modo per risolvere questo? Ho un problema in questa domanda http://stackoverflow.com/questions/30911206/distributed-transaction-on-linked-server-between-sql-server-and-mysql – ughai
No, non l'ho mai fatto funzionare. – rabudde