आप विंडोज़ का कौन सा संस्करण चला रहे हैं ? क्या यह 32 या 64 बिट है?
क्या आपका Oracle इंस्टेंट क्लाइंट 32 है या 64 बिट?
क्या आपका पायथन इंस्टॉलेशन 32 है। या 64 बिट?
क्या आपका cx_oracle सही संस्करण है? 32 या 64ए> बिट?
MSVCR90.dll Microsoft Visual C++ 2008 SP1 पुनर्वितरण योग्य पैकेज़ का भाग है।
32 बिट संस्करण उपलब्ध यहां , 64 बिट संस्करण उपलब्ध यहां ।
IESHIMS.dll C:\Program Files\Internet Explorer\Ieshims.dll
में स्थित होगा (32 बिट विंडोज लोकेशन या 64 बिट विंडोज लोकेशन) या C:\Program Files\Internet Explorer (x86)\Ieshims.dll` (64 बिट विंडोज पर 32 बिट विंडोज लोकेशन), अगर आपके विंडोज का वर्जन विस्टा या नया है।पी>
GPSVC.dll को C:\Windows\System32
. में रहना चाहिए ।
निर्भरता वाकर इन अंतिम 2 डीएलएल को लापता के रूप में रिपोर्ट करता है क्योंकि विंडोज़ त्रुटि रिपोर्टिंग द्वारा उपयोग किया जाता है जो आईईफ्रेम का उपयोग करता है। डीएलएल और देरी से लोड होता है, जिसका अर्थ है कि उन्हें वास्तव में कभी भी आवश्यकता नहीं हो सकती है।
मैंने पाया कि cx_oracle को स्वच्छ रूप से आयात करने के लिए, आपको यह सुनिश्चित करने की आवश्यकता है कि इसकी निर्भरता के संस्करण मेल खाते हैं। आपको यह भी सुनिश्चित करने की आवश्यकता है कि Oracle क्लाइंट स्थापना आपके ORACLE_HOME
. से मेल खाती है और आपके PATH चर में %ORACLE_HOME%/bin
है , जो एक पर्यावरण चर के रूप में या रजिस्ट्री में सेट है, और यह कि आपकी tnsnames.ora फ़ाइल उस मान में रहती है जिस पर TNS_ADMIN सेट है। जैसा कि इमैनुएल . में बताया गया है का उत्तर, एक अनसेट TNS_ADMIN सेटिंग के लिए डिफ़ॉल्ट मान %ORACLE_HOME%\network\admin
है ।
मैंने ऑरैकल इंस्टॉलर के तत्काल क्लाइंट संस्करण का शायद ही कभी उपयोग किया जब तक कि बिल्कुल जरूरी न हो क्योंकि अन्य संस्करणों के विपरीत यह हमेशा सुनिश्चित नहीं होता है कि पथ, ORACLE_HOME या TNS_ADMIN सही ढंग से सेट या रखरखाव किया जाता है, जिससे tnsnames.ora और OCI.dll नहीं हो रहे हैं मिल गया। यह तब और जटिल हो जाता है जब आपके पास एक ही मशीन पर कई पायथन संस्करण या Oracle संस्करण हों।
उन्हें स्पष्ट रूप से सेट करने के लिए आप पर्यावरण चर (या तो उपयोगकर्ता या सिस्टम) का उपयोग कर सकते हैं, जो सिस्टम आइकन, उन्नत सिस्टम सेटिंग्स कार्य, उन्नत टैब, पर्यावरण बटन के अंतर्गत नियंत्रण कक्ष में रहते हैं।
InterfaceError: Unable to acquire Oracle environment handle
. के संबंध में , यह विशेष रूप से तब होता है जब OCI.dll को हल न करने का विरोध किया जाता है, cx_Oracle को यह नहीं पता होता है कि किस OCI.dll का उपयोग करना है, आमतौर पर ऐसा PATH चर के कारण होता है जिसमें OCI.dll वाली दो या अधिक खोज निर्देशिकाएं होती हैं।
विशेष रूप से यह सुनिश्चित करना कि आपके PATH में या तो तत्काल क्लाइंट इंस्टालेशन से OCI.dll का केवल एक इंस्टेंट शामिल है या Oracle 11G XE इंस्टालेशन से आपकी समस्या ठीक हो जाएगी।
क्या आपने Oracle 11G XE स्थापित करने से पहले तत्काल क्लाइंट को अनइंस्टॉल कर दिया था?
कमांड प्रॉम्प्ट में निम्नलिखित पेस्ट करें।
echo The current ORACLE_HOME is %ORACLE_HOME%
है
echo The current TNS_ADMIN is %TNS_ADMIN%
echo The current PATH is %PATH%
इन चरों का वर्तमान मान देखने के लिए।
अतिरिक्त संसाधन
- सेटिंग का उदाहरण चित्र पर्यावरण चर
- cx_oracle मेलिंग पोस्ट गुम TNS_ADMIN के संबंध में
- Windows पर cx_oracle के लिए इंस्टॉलेशन निर्देश