我已经尝试了将近一周的时间来获取分布式事务的工作。我在MSSQL上有一些程序试图从MySQL中选择数据。我的需要是在一个(!)交易中完成此操作。当时我使用OpenLink的单层MySQL驱动程序在MSSQL上建立了ODBC连接,其中声明XA事务成功工作(配置ODBC连接后集成了一个测试按钮)。然后,我通过MSDASQL设立在MSSQL中的链接服务器这一ODBC连接,但这样做MySQL和MSSQL之间的分布式事务
begin distributed transaction
select * from optin..lu_source_proc
select * from openquery(optinxa, 'SELECT * FROM tbl_source_proc')
commit 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.
)
另一项测试:
set transaction isolation level serializable
begin transaction
select * from optin..lu_source_proc
select * from openquery(optinxa, 'SELECT * FROM tbl_source_proc')
commit transaction
结果Der OLE DB-Anbieter "MSDASQL" für den Verbindungsserver "optinxa" hat die Meldung "[OpenLink][ODBC][Driver]Driver does not support this function" zurückgeben.
但为什么国对配置ODBC驱动程序,该XA事务做的工作?
您是否找到解决此问题的方法?我有一个问题在这个问题http://stackoverflow.com/questions/30911206/distributed-transaction-on-linked-server-between-sql-server-and-mysql – ughai
不,我从来没有得到这个工作。 – rabudde