2017-07-09 11 views
6

मुझे एक विरासत एप्लिकेशन प्राप्त करना है जो 64-bit मशीन पर काम कर रहा है।मैं 64-बिट ओ/एस पर एएसपी.NET में काम कर रहे अप्रबंधित ODP.NET (64-बिट) को कैसे प्राप्त कर सकता हूं?

  1. मैं एक सांत्वना आवेदन में यह परीक्षण
  2. मैं काम कर सांत्वना के रूप में एक ही डेटा का उपयोग कोड के साथ एक परीक्षण वेब अनुप्रयोग बनाया द्वारा 64-bitunmanaged ODP.NET
  3. मैं सत्यापित किया है कि 64-bitunmanaged ODP.NET ठीक काम कर रहा है स्थापित किया है आवेदन और Oracle.Data.Access डीएलएल GAC में कंसोल एप्लिकेशन का उपयोग करता है। वेब अनुप्रयोग डेटाबेस से कनेक्ट करने में असमर्थ है। कोड स्निपेट प्रासंगिक नहीं है, क्योंकि कोड काम करता है और बहुत आसान है (बिंदु 2 देखें)।

यह विफल रहता है conn.Open();

Exception.Message खाली है पर।

Exception.StackTrace उपयोगी नहीं है: IIS Express

at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, 
    OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object 
    src, String procedure, Boolean bCheck, Int32 isRecoverable) at 
    Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, 
    OracleConnection conn, IntPtr opsErrCtx, Object src) at 
    Oracle.DataAccess.Client.OracleConnection.Open() at 
    TestODPNet.ODPNetTester.Test() in 
    D:\Projects\TestODPNet\TestODPNet\ODPNetTester.cs:line 27 

आवेदन Local IIS पर चल रहा है, नहीं।

IIS में, "Enable 32-bit applications" false पर सेट है।

एप्लिकेशन x64-bit प्लेटफ़ॉर्म को लक्षित कर रहा है, Any CPU नहीं।

स्थानीय रूप से, मैं 64-bit Windows 10 का उपयोग कर रहा हूं और सर्वर पर, मैं 64-bit Windows Server 2012 का उपयोग कर रहा हूं। मैं या तो काम कर रहे अप्रबंधित ODP.NET प्राप्त करने में सक्षम नहीं हूं। इसलिए, ऐसा लगता है कि 32-bit बाइनरी के साथ ऐसा करना प्रतीत नहीं होता है, जहां तक ​​मैं ODP.NET से बता सकता हूं और दोनों ओएस सभी 64-bit हैं।

संपादित करें: एप्लिकेशन पूल (अस्थायी रूप से एक परीक्षण के लिए) कंसोल एप्लिकेशन के समान खाते का उपयोग कर चल रहा है, जो मशीन पर व्यवस्थापक है।

मुझे क्या याद आ रही है? मैं unmanaged ODP.NET (64-bit)ASP.NET पर 64-bit ओ/एस पर कैसे काम कर सकता हूं?

ध्यान दें: यह सवाल थोड़ा अन्य प्रश्न के समान दिखता है, लेकिन यह जहाँ तक मैं बता सकता हूँ

नोट 2 नहीं है: हाँ, मुझे पता है कि एक सुझाया गया तरीका managed ODP.NET उपयोग करने के लिए है, लेकिन मुझे नहीं पता स्रोत कोड है और इस प्रकार वह परिवर्तन नहीं कर सकता है।

+1

अप्रबंधित ODP.NET एक फ़ाइल नहीं है। यह निर्भर फ़ाइलों और कॉन्फ़िगर प्रविष्टियों/रजिस्ट्री प्रविष्टियों का एक पूरा संग्रह है। मशीन पर Oracle.DataAccess.dll आपको कैसे मिला? यदि आपने इंस्टॉलर को वहां रखने के लिए नहीं चलाया है, तो आपको चाहिए। साथ ही, हमें बताएं कि आप किस संस्करण का उपयोग कर रहे हैं। –

+1

आपको जानकारी प्रदान करने के लिए अपवाद प्राप्त करने पर ध्यान देना चाहिए क्योंकि इससे समाधान हो सकता है। ओरेकल अपवाद को पकड़ने का प्रयास करें और देखें कि क्या इससे मदद मिलती है। –

+0

@ क्रिस्टियनशै जवाब देने के लिए धन्यवाद। मैंने इंस्टॉलर के माध्यम से ODP.NET स्थापित किया। मैंने ओरेकल अपवाद को पकड़ने के लिए कोड बदल दिया। अपवाद। संदेश अभी भी खाली है। अपवाद। इंजेक्शन अपवाद अभी भी शून्य है। डेटाबेस संस्करण 11.2.0.4.0 - 64 बिट है। ODP.NET संस्करण 2.112.1.0 (AMD64) और 4.121.1.0 (AMD64) – Zesty

उत्तर

0

मैंने एक साधारण एप्लिकेशन की कोशिश की और यह मेरे लिए अपेक्षित काम करता है। मेरा सेटअप विन 8।1, ओरेकल को जोड़ने के बाद IIS प्रक्रिया के लोड DLLs का

स्क्रीन शॉट

enter image description here

using (OracleConnection conn = new OracleConnection(connectionString)) 
    { 
     conn.Open(); 

    } 

ODP.Net प्रलेखन

नेट के लिए

ओरेकल डेटा प्रदाता, अप्रबंधित चालक के आधार पर सभाओं

Oracle.DataAccess.Client नामस्थान में क्लाइंट-साइड प्रदाता के लिए ओडीपी.NET कक्षाएं और गणनाएं शामिल हैं।

मैंने Oracle.DataAccess.dll का संदर्भ जोड़ा। यह मेरी परियोजना में केवल ओरेकल डीएलएल संदर्भ है।

मेरी मशीन में DLL

\ उत्पाद \ 12.2.0 \ client_1 \ odp.net \ बिन \ 4 \ Oracle.DataAccess.dll

मैं इस्तेमाल किया निम्न स्थान में था this संस्करण ओरेकल साइट से स्थापना के दौरान ODP.Net

enter image description here

की स्थापना के लिए, मैं विशेष रूप से विकल्प चुना

(1) नहीं बदलने के लिए machine.config

(2) GAC

में कुछ भी स्थापित करने नहीं तो, तुएं:

(1) ओरेकल फ़ोल्डर से विधानसभा संदर्भ (GAC के बजाय)

(2) स्थापित करें नवीनतम उपलब्ध ODP.Net

गुड लक

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

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