ODP.NET द्वारा प्रदान किया गया कनेक्शन पूलिंग पूरी तरह से अपारदर्शी है। यानी, यह उस तरह से लीक नहीं है जैसा मैं चाहता हूं - यह जानने का कोई तरीका नहीं है कि क्या कनेक्शन पहले इस्तेमाल किया गया है या बिल्कुल नया है। हालांकि यह एक अन्य तरीके से एक लीकी एब्स्ट्रैक्शन है:कोई भी सत्र स्थिति (जैसे पैकेज स्कोप्ड वेरिएबल्स, जो सत्र स्कोप हैं) कनेक्शन के उपयोग के बीच संरक्षित है। चूंकि यह उपयोग किए गए बनाम कनेक्शन की नई स्थिति को निर्धारित करने के बारे में एक प्रश्न है डेटाबेस पर जाए बिना , इसका उत्तर यह है कि यह केवल ODP.NET के अंतर्निर्मित कनेक्शन पूल का उपयोग करके नहीं किया जा सकता है।
यह दो विकल्प छोड़ता है:
- एक कनेक्शन पूल कार्यान्वयन बनाएं जो या तो वह जानकारी प्रदान करता है या प्रत्येक नए कनेक्शन के निर्माण पर उपयोगकर्ता द्वारा परिभाषित आरंभीकरण करता है; या
- उपयोग किए गए बनाम कनेक्शन की नई स्थिति का निर्धारण करने के लिए डेटाबेस के लिए एक राउंड-ट्रिप करें।