Penyatuan koneksi yang disediakan oleh ODP.NET benar-benar buram. Artinya, tidak bocor seperti yang saya inginkan - tidak ada cara untuk mengetahui apakah sambungan telah digunakan sebelumnya atau baru. Namun ini adalah abstraksi yang bocor dengan cara lain:Status sesi apa pun (mis. variabel cakupan paket, yang merupakan cakupan sesi) dipertahankan di antara penggunaan koneksi. Karena ini adalah pertanyaan tentang menentukan status koneksi bekas vs. baru tanpa masuk ke database , jawabannya adalah bahwa hal itu tidak dapat dilakukan dengan menggunakan kumpulan koneksi bawaan ODP.NET.
Itu menyisakan dua pilihan:
- Buat implementasi kumpulan koneksi yang menyediakan informasi tersebut atau melakukan inisialisasi yang ditentukan pengguna setelah pembuatan setiap koneksi baru; atau
- Lakukan perjalanan bolak-balik ke database untuk menentukan status koneksi yang digunakan vs. yang baru.