1

We have been successfully copying data from a MySQL Slave database into a SQL Server 2000 database. The MySQL server is a linked server. I have tried using v3.51 and v5.1.8 of the ODBC connector provided my MySQL.

Simply trying to insert into a temporary table in SQL Server from a table in MySQL using OPENQUERY causes the following error:

Server: Msg 7391, Level 16, State 1, Line 1
The operation could not be performed because the OLE DB provider 'MSDASQL' was unable to begin a distributed transaction.
[OLE/DB provider returned message: [MySQL][ODBC 3.51 Driver]Optional feature not supported]
OLE DB error trace [OLE/DB Provider 'MSDASQL ' ITransactionJoin::JoinTransaction returned 0x8004d00a].

This error started happening when replication between the MySQL master and slave failed. This has since been fixed but the error above persists.

Is there something more that needs to be done on the MySQL side? Any suggestions for the SQL Server side? I have already tried restarting DTC as well as rebooting the server.

Thanks

  • Are the MySQL servers running on Windows on Linux? – mrdenny Jul 10 '11 at 18:04
  • They are running on Linux, on servers in different datacenters. Talking to each other through OpenVPN. – NetRunner Jul 11 '11 at 8:40
1

Someone posted a solution to a related problem on StackOverflow:

https://stackoverflow.com/questions/5945435/sql-server-2000-linked-server/6651704#6651704

0

My best guess is that the distributed transaction coordinator that you are using on the Linux boxes needs to be restarted, or it's configuration was somehow changed and need to be fixed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.