Karena saya mengalami masalah pemrosesan transaksi di layanan web terakhir kali, saya tidak sengaja membuat penemuan menarik tentang pengaturan daftar string koneksi OracleConnection saat men-debug program.
Saya membaca artikel sebelumnya, tetapi saya tidak ingat apa itu. Artikel tersebut mengatakan bahwa yang terbaik adalah menyetel enlist ke false program saya, enlist=false ditulis secara langsung. Baru sekarang saya menemukan bahwa ada hubungan halus antara pengaturan pendaftaran dan pemrosesan transaksi.
Manajer transaksi umumnya menggunakan dua metode untuk mengelola, satu disebut Manajemen Transaksi Ringan, disebut LTM, dan yang lainnya disebut oleX TM. Pada pengajuan tahap sederhana umumnya menggunakan LTM, sedangkan pada pemrosesan transaksi terdistribusi umumnya menggunakan 2PC, sehingga metode yang digunakan adalah oleX TM.
Jika enlist=false berarti transaksi selanjutnya tidak akan didaftarkan pada transaksi saat ini, sehingga transaksi saat ini tidak akan menjadi root transaksi. Jika pemrosesan transaksi terdistribusi digunakan dalam program ini, program tersebut mungkin tidak dijalankan dengan benar (saya belum mengujinya). Saat ini, program memberitahu TM untuk menggunakan LTM untuk mengelola.
Jika enlist=true, maka proses memberitahu TM bahwa proses tersebut perlu dikelola menggunakan oleX TM. Manajemen transaksi terdistribusi akan diaktifkan secara otomatis saat ini, jadi jika enlist=true diatur dalam string koneksi, jika database Oracle digunakan, maka latar belakang akan Saat memanggil oramts.dll, jika layanan MTS untuk Oracle tidak diinstal di lingkungan pengembangan, maka akan muncul pesan bahwa oramts.dll tidak dapat ditemukan. Anda dapat mendownload paket instalasi layanan ini dari situs Oracle. Saya tidak tahu mengapa Oracle tidak menyediakan paket instalasi terpisah, tetapi mendownloadnya dibundel dengan odac.
Apa yang akan terjadi jika Anda tidak mengonfigurasi pendaftaran? Hal ini bergantung pada apakah program Anda menggunakan transaksi terdistribusi atau pemrosesan transaksi umum. TM akan otomatis bereaksi sesuai permintaan program.
Kesimpulan: enlist memiliki kendali tertentu atas pendaftaran transaksi. Jika uraian saya salah, tolong bantu perbaiki saya.
Alamat tautan: http://yanrongpi.cnblogs.com/archive/2006/07/13/450189.html