Secara teoritis ini seharusnya berhasil.
Saya akan menyarankan langkah-langkah berbeda untuk menyelesaikannya:
-
Sudahkah Anda memeriksa mesin penyimpanan MySql Anda? Tampaknya hanya dukungan mesin penyimpanan InnoDB yang mendistribusikan transaksi per dokumen MySql:https://dev.mysql.com/doc/refman/5.7/en/xa.html
-
Lihat apakah Anda dapat beralih untuk menggunakan koneksi pengaturan Konektor MySQL untuk terhubung ke MySql di SQL Server alih-alih penyedia OLEDB, yang dinyatakan oleh dokumen MySql di atas yang mendukung transaksi distribusi.
-
Jika masih tidak berfungsi, mungkin layanan MSDTC itu sendiri memiliki beberapa masalah, lihat apakah Anda dapat mengisolasinya seperti menjalankan instance SQL Server di kotak server MySql (jika Anda menggunakan Windows MySql), atau coba instal Windows MySql pada Kotak Sql Server untuk mendapatkan mendistribusikan transaksi yang berfungsi antara dua MySql. Yang akan dapat mengarahkan Anda ke masalah yang sebenarnya.
EDIT:
Sayangnya sepertinya Anda membuktikan ini tidak berhasil, saya telah melihat lebih dekat pada dokumen MySql dan maaf sepertinya saya tidak membacanya dengan seksama, katanya:
Saat ini, di antara Konektor MySQL, Konektor MySQL/J 5.0.0 dan yang lebih tinggi mendukung XA secara langsung
Dan oleh beberapa Googling lain saya menemukan ini:https://bugs.mysql.com/bug.php?id=37283, orang-orang melaporkan bug ini bertahun-tahun yang lalu dan mereka menandai ini sebagai tidak akan diperbaiki.
Seseorang menyarankan sesuatu di sini:https://social.msdn.microsoft.com/Forums/en-US/fc07937d-8b42-43da-8c75-3a4966ab95f9/xa-msdtc?forum=windowstransactionsprogramming, yaitu mengimplementasikan XA- Anda sendiri Pengelola Sumber Daya yang Sesuai untuk digunakan oleh aplikasi Anda (https://msdn.microsoft.com/en-us/library/ms684317.aspx)