2012-12-26 25 views
7

मुझे पहले से मौजूद पीडीओ ऑब्जेक्ट से कनेक्शन संसाधन प्राप्त करने की आवश्यकता है। उदाहरण के लिए:पीडीओ ऑब्जेक्ट से कनेक्शन संसाधन कैसे प्राप्त करें?

... 
$oPDO = new PDO($sOdbcDsn); 
$rOdbcConnection = $oPDO -> getConnection(); 
odbc_prepare($rOdbcConnection, $sQuery); 
... 

इसके अलावा इसके विपरीत, मैं पीडीओ निर्माता के लिए मौजूदा कनेक्शन पारित करने के लिए करना चाहते हैं। मैं पीडीओ ऑब्जेक्ट्स और सीधा कनेक्शन अलग से काम करने की क्षमता चाहता हूं।

क्या पीडीओ से कनेक्शन निकालने का कोई तरीका है?

+1

आप पीडीओ और पुरातन क्वेरी तंत्र के बीच क्यों उछालना चाहते हैं? अतिरिक्त प्रतिभूतियां प्रदान करते समय पीडीओ आपको जो भी चाहिए उसे संभाल सकता है। –

+1

मुझे यकीन नहीं है कि इससे कोई फर्क पड़ता है, यह आरडीबीएमएस है जो आंतरिक रूप से कनेक्शन के पूल का प्रबंधन करता है और कनेक्शन आईडी को विशेषता देता है। कनेक्शन ऑब्जेक्ट को पास करना शायद आरडीबीएमएस से संबंधित कनेक्शन को पास नहीं करता है। – Sebas

+1

ब्रैड, पीडीओ को बीएलओबी डेटा फ़ील्ड के साथ लंबे समय तक बग के लिए तय नहीं किया गया है और पीडीओ पर आधारित मेरा डीबी बैकएंड इन बीएलओबी प्रश्नों को संभाल नहीं सकता है। तो मुझे कामकाज करना है। – alkaponey

उत्तर

2

मैं आपके पास दो विकल्प लगता होगा:

  1. एक कक्षा में अपने पीडीओ कनेक्शन (और तरीकों) है कि आप के आसपास पारित कर सकते हैं जैसे आप चाहते हैं लपेट दें। एक प्रतिलिपि निर्माता को परिभाषित करें जो कनेक्शन हैंडल का पुन: उपयोग करेगा।

  2. PHP स्रोत से पीडीओ ऑब्जेक्ट को स्रोत खोदें और आपको वहां से जो चाहिए उसे बनाएं।