I have been trying for almost a week to work with distributed transactions. I have some procedures in MSSQL that try to select data from MySQL. I need to do this in one (!) Transaction. At the time, I established an ODBC connection on MSSQL with the One-Tier MySQL driver from OpenLink, which tells me that XA transactions work successfully (there is a built-in test button after setting up an ODBC connection). Then I installed the linked server in MSSQL via MSDASQL with this ODBC connection, but when executed
begin distributed transaction select * from optin..lu_source_proc select * from openquery(optinxa, 'SELECT * FROM tbl_source_proc') commit transaction
I get an error that no further transaction can be started inside the actual transaction. ( 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. )
Another 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
Results 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. But why is the ODBC driver specified when configuring that XA transactions work?
mysql sql-server sql-server-2005 odbc distributed-transactions
rabudde
source share