Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Transaksi Terdistribusi pada Server Tertaut antara sql server dan mysql

Secara teoritis ini seharusnya berhasil.

Saya akan menyarankan langkah-langkah berbeda untuk menyelesaikannya:

  1. 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

  2. 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.

  3. 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)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan SQL UPDATE untuk mengganti dua nilai dalam dua baris

  2. Dapatkan hari dalam seminggu di SQL Server 2005/2008

  3. Inilah Tiga Alasan Mengapa Anda Mungkin Melihat Aktivitas Puncak di Instance SQL Anda

  4. Konfigurasikan Lingkungan StartUp di SQL Server Management Studio (SSMS) - Tutorial SQL Server / TSQL Bagian 7

  5. 3 Cara Mengembalikan Baris yang Mengandung Karakter Alfanumerik di SQL Server