2011-11-29 4 views
7

मेरे पास एक सेवा के लिए एक परीक्षण वातावरण है जो मेरी साइट का उपयोग करेगा और एक उत्पादन वातावरण। मेरे परीक्षण वातावरण में मेरे पास सर्वर पर ODP.net स्थापित है। ओरेकल का उपयोग करने वाली वह सेवा अब तक बहुत सुस्त चल रही है। मुझे लगता है कि उस सर्वर पर ओरेकल क्लाइंट चल रहा है। दूसरी ओर मैं एक सर्वर जो उस पर एक Oracle ग्राहक है, लेकिन ODP.net उस पर स्थापित किया है प्रतीत नहीं होता है (मैं दोहरी जांच की प्रक्रिया में हूँ, लेकिन कि यह ऐसा सवाल के रूप में स्थिति है) ।Oracle.DataAccess.Client.OracleException को हल करने के लिए सर्वर पर ODP.net स्थापित करना: प्रदाता ओरेकल क्लाइंट के संस्करण के साथ संगत नहीं है

Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client 
दोनों सर्वर मैं बिन और lib फ़ोल्डर (नहीं लगता कि मैं lib फ़ोल्डर में की जरूरत है, लेकिन क्यों नाव रॉक में Oracle.DataAccess dll है में

: उत्पादन सर्वर पर मैं इस अपवाद ... मुझे यकीन है कि आप एक अच्छे कारण के साथ आ सकते हैं, लेकिन अभी नहीं !!!)। मेरा सवाल है कि मुझे उत्पादन सर्वर पर ODP.net स्थापित करने की आवश्यकता है? क्या आपने किसी भी मुद्दे को हल किया है जिसे आप पार कर चुके हैं? मैंने कुछ एसओ पोस्ट देखा है जो कहता है कि इससे उनके लिए एक समान समस्या हल हुई। क्या आप कार्रवाई के पाठ्यक्रम की सिफारिश कर सकते हैं? धन्यवाद!

उत्तर

12

ओरेकल क्लाइंट के बहुत सारे छोटे संस्करण हैं, और संभवतः यह हुआ कि त्रुटि देने वाली मशीन पर ऑरैक क्लाइंट इंस्टॉल किए गए हैं, बिल्कुल वही संस्करण नहीं है जो Oracle.DataAccess.dll फ़ाइल से आया था।

सबसे अच्छी बात यह सुनिश्चित करने के लिए है कि आप बिल्कुल प्रत्येक देव मशीन और सर्वर पर एक ही इंस्टॉल पैकेज का उपयोग करें। यह किसी भी मिसमैच से बच जाएगा। करने के लिए

एक विकल्प के रूप में, मैं अतीत में क्या किया है इस को हल करने (और यह "सर्वश्रेष्ठ" क्या करने की बात नहीं हो सकता है, लेकिन आमतौर पर मेरे लिए काम करता है) भी फ़ाइल OraOps11.dll कॉपी करने के लिए अपने \bin निर्देशिका, Oracle.DataAccess.dll फ़ाइल के साथ।

उसी मशीन पर उसी ऑरैकल इंस्टॉल से फ़ाइल प्राप्त करें जहां आपको Oracle.DataAccess.dll मिला है। यह इस तरह एक फ़ोल्डर नामित कुछ में होना चाहिए जहां Oracle स्थापित पर निर्भर करता है, और कौन-सा संस्करण:

C: \ ओरेकल \ उत्पाद \ 11.1.0 \ client_1 \ बिन \ OraOps11.dll

+0

OraOps11.dll क्या है और यह क्या करता है? और वह मेरे आवेदन के बिन में सही होगा? – SoftwareSavant

+0

बीटीडब्ल्यू, मैं जिस संस्करण का उपयोग कर रहा हूं उसे अंतिम बार 11/9/2010 1:48 पूर्वाह्न पर संशोधित किया गया था। तो मुझे पूरा यकीन है कि यह वही संस्करण है। वे दोनों 64 बिट संस्करण भी हैं। – SoftwareSavant

+0

मुझे पूरी तरह से यकीन नहीं है कि OraOps11.dll क्या करता है, लेकिन हाँ, मैं इसे अपने एप्लिकेशन के किसी भी फ़ोल्डर में कॉपी करता हूं .exe या .dll अंदर है। – CodingWithSpike

0

धन्यवाद ... यह मेरे परिवर्तित हमारे ASP.Net आवेदन की frm 32 बिट के 64 बिट पर समय बचाया ...

विवरण में मदद की: एपीपी सर्वर क्लाइंट लाइब्रेरी की तलाश में, यहां तक ​​कि हम घटक दूरस्थ बनाने का उपयोग कनेक्ट करने के लिए ORACLE डीबी के लिए ... ORACLE क्लाइंट 64 बिट के साथ ..

Execption मुझे मिल गया मेरे एप्लिकेशन/bin फ़ोल्डर

  1. में इन 5 dll के कॉपी करने oci.dll
  2. oraociicu11.dll
  3. oraops11w.dll
  4. orannzsbb11.dll
  5. ociw32 के बाद हल किया गया था। dll

त्रुटि संदेश: प्रकार प्रारंभकर्ता 'Oracle.DataAccess.Types.OracleString' के लिए एक अपवाद फेंक दिया।

त्रुटि विवरण: सिस्टम.TypeInitializationException: 'Oracle.DataAccess.Types.OracleString' के लिए प्रकार प्रारंभकर्ता एक अपवाद फेंक दिया। ---> Oracle.DataAccess.Client.OracleException प्रदाता Oracle.DataAccess.Client.OracleInit पर प्रारंभिक ओरेकल क्लाइंट के संस्करण के साथ संगत नहीं है। प्रारंभ करें() --- आंतरिक अपवाद स्टैक ट्रेस का अंत ---

सर्वर स्टैक ट्रेस: ​​ System.Runtime.Serialization.FormatterServices.nativeGetUninitializedObject (RuntimeType प्रकार) पर System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObject (ParseRecord जनसंपर्क) पर System.Runtime.Serialization.Formatters.Binary पर ObjectReader.ParseMember (ParseRecord pr) System.Runtime.Serialization.Formatters.Binary._ BinaryParser.ReadObjectWithMapTyped (BinaryObjectWithMapTyped रिकॉर्ड) सिस्टम पर। Runtime.Serializ ation.Formatters.Binary। _BinaryParser.Run() System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (HeaderHandler हैंडलर, __BinaryParser serParser, बूलियन fCheck, बूलियन isCrossAppDomain, IMethodCallMessage methodCallMessage) पर System.Runtime.Serialization.Formatters.Binary.BinaryFormatter पर .Deserialize (स्ट्रीम serializationStream, HeaderHandler हैंडलर, बूलियन fCheck, बूलियन isCrossAppDomain, IMethodCallMessage methodCallMessage) System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize पर (स्ट्रीम serializationStream, HeaderHandler हैंडलर, बूलियन fCheck, IMethodCallMessage methodCallMessage) सिस्टम पर। Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage (iMessage संदेश)

उत्कृष्टता System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (iMessage reqMsg, iMessage retMsg) पर System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke पर (MessageData & msgData, Int32 प्रकार)

: [0] पर ption rethrown
5

यह मेरे लिए काम किया है एक बार मैं उन्हें भाग गया:

OraProvCfg /action:config /product:odp /frameworkversion:v2.0.50727 /providerpath:C:\app\Administrator\product\11.2.0\client_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll 

OraProvCfg /action:config /product:odp /frameworkversion:v4.0.30319 /providerpath:C:\app\Administrator\product\11.2.0\client_1\ODP.NET\bin\4\Oracle.DataAccess.dll 

गुड लक

2

मैं बिल्कुल एक ही समस्या का सामना करना पड़ा, मैं के रूप में मैं कर सकते हैं, लेकिन किसी भी भाग्य के बिना के रूप में ज्यादा DLLs नकल करने की कोशिश की।

अंत मैं "ODTwithODAC121012" सर्वर में (32 बिट) (विन 2008 R2 64 बिट) स्थापित करने के लिए किया था पर।

स्थापना के बाद सुनिश्चित करें:

  • पथ ओरेकल DLLs स्थान के साथ अद्यतन किया जाता है: \ \ 12.1.0 \ client_1 \ बिन और \ उत्पाद उत्पाद \ 12.1.0 \ client_1
  • पुनरारंभ सर्वर।
  • IIS में अनुप्रयोग पूल के लिए 32 बिट सक्षम करें।
1

मैं एक Windows 2012 सर्वर है कि मैं Oracle 10.2.0.3 (supossed ओरेकल 10.2 संस्करण 64 बिट्स के साथ संगत) स्थापित किया था में एक ही समस्या के साथ चलाने के लिए और एक वेब साइट है कि 10.2.0.1 ओरेकल ग्राहक इस्तेमाल किया तैनात।

"IIS में अनुप्रयोग पूल के लिए 32 बिट सक्षम करें"

बेशक

मैं भी:

मैं इस पोस्ट में सभी समाधान लेकिन एक है कि प्रपत्र मेरी अब्दुल्ला जवाब के अंतिम बिंदु था काम करने की कोशिश की मेरे वेबपैप को सही Oracle.Data.Access संदर्भ (10.2.0.3)

अंत में त्रुटि संदेश मुझे भ्रमित कर रहा था क्योंकि यह मुझे संस्करण समस्या को हल करने के लिए अंधेरा होने के लिए सूख गया था, लेकिन वास्तव में समस्या आईआईएस नहीं थी 32 बिट्स ऐप को उत्साहित करने में सक्षम होना।

आशा है कि यह

संबंधित मुद्दे