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

Transactionscope melempar pengecualian platform ini tidak mendukung transaksi terdistribusi saat membuka objek koneksi

.NET Core tidak mendukung Transaksi Terdistribusi karena memerlukan pengelola transaksi yang berbeda di setiap platform. Ini mungkin muncul di masa mendatang (inilah masalah yang sedang berlangsung), tetapi untuk saat ini setiap Transaksi yang memerlukan dua pengelola sumber daya yang berbeda akan mengeluarkan pengecualian ini.

Sebagai gantinya, Anda dapat mengoordinasikan transaksi terpisah. Mintalah dua transaksi terpisah menyelesaikan pekerjaannya, lalu lakukan keduanya. Ada kemungkinan bahwa komit pertama berhasil dan komit kedua gagal, tetapi untuk SQL Server, itu akan menjadi kejadian yang sangat jarang terjadi. Sesuatu seperti:

            _db1UOW.Begin(); //creating sql transaction
            await _db1UOW.IDenialDetailsRepositorydb1.InsertDenialDetails(denialsDetails);
            await _db1UOW.IRuleDetailsRepositorydb1.InsertRulesDetails(rulesDetails);

            _db2UOW.Begin(); //creating sql transaction 
            await _db2UOW.IRuleDetailsRepository.GetRulesDetails();
            await _db2UOW.IDenialDetailsRepository.InsertDenialDetails(denialsDetails);
            var data = await _db2UOW.IRuleDetailsRepository.InsertRulesDetails(rulesDetails);

            _db1UOW.Commit(); //commitng sql transaction
            try
            {
               _db2UOW.Commit(); //commitng sql transaction
            }
            catch (Exception ex)
            {
               LogError("Second transaction failed to commit after first one committed.  Administrators may need to fix stuff");
               throw;
            }

Atau jika dua database berada di server yang sama, Anda dapat menggunakan kueri lintas database dengan satu SqlConnection untuk mendaftarkan perubahan dalam satu transaksi SQL Server.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server mengonversi varbinary ke string

  2. Kerangka kerja entitas sangat lambat dimuat untuk pertama kalinya setelah setiap kompilasi

  3. 4 Fungsi untuk Memformat Angka menjadi 2 Tempat Desimal di SQL Server

  4. SQL Server:Filter keluaran sp_who2

  5. Alat untuk Membuat Skrip Data Tabel