आपने 32 बिट और 64 बिट ओरेकल क्लाइंट कैसे स्थापित किया?
कृपया इस निर्देश पर एक नज़र डालें:मोड-साथ-32#24120100">BadImageFormatException. यह तब होगा जब 64 बिट मोड में 32 बिट Oracle क्लाइंट स्थापित घटकों के साथ चल रहा हो
लघु संस्करण:
आपका एक्सेल 32 बिट है और आप 32 बिट ओरेकल का उपयोग करने का प्रयास करते हैं। मुझे लगता है कि आप "ओडीबीसी प्रशासक" का 64 बिट संस्करण लॉन्च करते हैं - मेल नहीं खा सकता है। या आपको अपने PATH
. में कोई समस्या है %ORACLE_HOME%
. के संबंध में और/या %ORACLE_HOME%\bin
फोल्डर
लंबा संस्करण:
आपका एक्सेल 32 बिट है, इसलिए सामान्य तौर पर आपने 32 बिट क्लाइंट को PATH
में डालकर सही तरीका अपनाया। और ORACLE_HOME
. के लिए , आप 32 बिट और 64 बिट असेंबलियों को एक प्रक्रिया में नहीं मिला सकते हैं। बीटीडब्ल्यू, जब आप ऊपर दिए गए निर्देशों का पालन करेंगे तो आपका विंडोज इसे अपने आप मैनेज कर लेगा।
मुझे लगता है कि आपने Oracle इंस्टेंट क्लाइंट स्थापित किया है। डिफ़ॉल्ट इंस्टेंट क्लाइंट में न तो कोई ODBC ड्राइवर शामिल है और न ही Oracle डेटा प्रदाता (ODP.NET, Oracle.DataAccess.Client
) )
ओडीबीसी
आपके पास 2 ODBC ड्राइवर हो सकते हैं, एक Oracle से जिसे आमतौर पर OraClient12_home1 में Oracle कहा जाता है। और Microsoft से एक को Oracle के लिए Microsoft ODBC . कहा जाता है (जिसे डिफ़ॉल्ट रूप से विंडोज इंस्टॉलेशन द्वारा स्थापित किया जाना चाहिए, हालांकि इसके लिए ओरेकल क्लाइंट की भी आवश्यकता होती है)।
Oracle से ODBC ड्राइवर 32 बिट और 64 बिट के लिए उपलब्ध है, Microsoft ड्राइवर केवल 32 बिट के लिए बाहर निकलता है। आपके पास 2 ODBC व्यवस्थापक हैं, 32 बिट (चलें c:\Windows\SysWOW64\odbcad32.exe
) और 64 बिट (चलाएँ c:\Windows\System32\odbcad32.exe
) वहां आपको 32 सम्मान के लिए स्थापित ड्राइवर देखना चाहिए। 64 बिट।
Oracle डेटा प्रदाता
डेटा प्रदाता के लिए आपके पास समान स्थिति है। आपके पास Microsoft से एक है (Oracle के लिए Microsoft .NET Framework डेटा प्रदाता , System.Data.OracleClient
) और Oracle से (.NET के लिए Oracle डेटा प्रदाता , Oracle.DataAccess.Client
, कई संस्करण)। दोनों 32 बिट और 64 बिट के लिए उपलब्ध हैं।
सिद्धांत रूप में इससे कोई फर्क नहीं पड़ता कि आप Oracle से कनेक्ट करने के लिए किस ड्राइवर/प्रदाता का उपयोग करते हैं - बस आर्किटेक्चर (यानी 32 बनाम 64 बिट) का मिलान करना है। प्रत्येक ड्राइवर/प्रदाता को Oracle क्लाइंट स्थापना के अनुसार आवश्यकता होती है। Microsoft के सभी ड्राइवर/प्रदाताओं को पदावनत कर दिया गया है, आपको Oracle वाले को प्राथमिकता देनी चाहिए (जैसा कि चेतावनी संदेश में कहा गया है)
अन्य
Oracle ODP.NET, प्रबंधित ड्राइवर . भी प्रदान करता है जिसे किसी और Oracle क्लाइंट संस्थापन की आवश्यकता नहीं है और 32 बिट और 64 बिट दोनों पर चलता है। हालांकि, मुझे नहीं पता कि आप एक्सेल में इसका इस्तेमाल कर सकते हैं या नहीं।
अंतिम लेकिन कम से कम, आपके पास OLE DB प्रदाता भी है। फिर से Microsoft से एक (Oracle के लिए Microsoft OLE DB प्रदाता ) और एक Oracle से (OLE DB के लिए Oracle प्रदाता ) Microsoft प्रदाता केवल 32 बिट के लिए मौजूद है और उसे हटा दिया गया है।