2016-10-24 14 views
5

के साथ गतिशील कनेक्शन स्ट्रिंग का उपयोग करें मुझे सहायता चाहिए! मुझे यकीन नहीं है कि शीर्षक महत्वपूर्ण विचार है इसलिए मैं बेहतर व्याख्या करने की कोशिश करूंगा।इकाई फ्रेमवर्क - ओरेकल प्रदाता

मैं एक कोणीय वेबसाइट पर काम करता हूं जो एक एएसपी.नेट वेब एपीआई साइट पर http अनुरोधों का उपयोग करता है। मेरा डेटाबेस एक ओरेकल एक है। मैं इकाई की रूपरेखा (डाटाबेस प्रथम) का उपयोग एक हार्डकोडेड कनेक्शन स्ट्रिंग के साथ (मेरी web.config में)

<add name="UserConnection" connectionString="DATA SOURCE=ip:port/name;PASSWORD=pwd;PERSIST SECURITY INFO=True;USER ID=usr" 
    providerName="Oracle.ManagedDataAccess.Client" /> 

(मैं आईपी के साथ वास्तविक infos की जगह, बंदरगाह, नाम, लोक निर्माण विभाग, usr के बाद से मैं नहीं कर सकता उन्हें दिखाने)

यह सब काम कर रहा है, लेकिन अब मेरी टीम गतिशील उपयोगकर्ता आईडी और पासवर्ड

लक्ष्य के साथ मेरी कोणीय एप्लिकेशन पर लॉग इन करने के लिए है के साथ इस ओरेकल कनेक्शन स्ट्रिंग के लिए सक्षम होना चाहता है एक उपयोगकर्ता के प्रमाण पत्र और ओ से कनेक्ट करने के लिए समान प्रमाण-पत्र के साथ रैकल डीबी। इसलिए मैं अब इस हार्डकोडेड कनेक्शन स्ट्रिंग का उपयोग नहीं कर सकता।) आधार (पहले पैरामीटर: (जब बनाया है, उन दोनों db उन तालिका में और में ओरेकल उपयोगकर्ताओं तालिका कर रहे हैं)

मैं अपने डाटाबेस के लिए एक और निर्माता बनाने की कोशिश की: Dbcontext वर्ग, में एक कनेक्शन स्ट्रिंग दे

सार्वजनिक आंशिक वर्ग db: DbContext {

सार्वजनिक डीबी (स्ट्रिंग connectionstring): आधार (connectionstring) {}

...}

जहां connectionstring ही टुकड़े मेरी web.config में है: "डेटा स्रोत = आईपी: पोर्ट/नाम; पासवर्ड = pwd; जारी रहती सुरक्षा जानकारी = सच; उपयोगकर्ता ID = usr"

परीक्षण यह मुझे यह दिया त्रुटि:

"आपूर्ति की SqlConnection एक प्रारंभिक सूची या attachdbfilename ओरेकल निर्दिष्ट नहीं है" मैं इस वहाँ काम नहीं कर रहा है क्योंकि मैं अपने ProviderName Oracle.ManagedDataAccess.Client देना नहीं है ("लगता है ") आधार पहले पैरा में, लेकिन मुझे एक कन्स्ट्रक्टर नहीं मिला जो प्रदाता नाम के लिए दूसरा पैरा स्वीकार करता है।

मैं भी इस की कोशिश की:

सार्वजनिक डीबी (स्ट्रिंग connectionstring): आधार (नई OracleConnection (connectionstring)) {}

लेकिन वहाँ दृश्य स्टूडियो मुझे उस त्रुटि देता है:

"एररूर सीएस 1503 तर्क 1: रूपांतरण असंभव डी 'ओरेकल.मैंजेडडेटाएक्सेस.क्लिएंट.ऑरेकलकनेक्शन' एन 'सिस्टम। डेटा.इन्टिटी.इफ्रास्ट्रक्चर.डीबी कॉम्प्लेड मॉडेल'

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

मैंने उपयोगकर्ता और पासवर्ड बदलने और डिफ़ॉल्ट कनेक्शन डीबी कन्स्ट्रक्टर का उपयोग करने के लिए web.config कनेक्शन स्ट्रिंग को संपादित करने का भी प्रयास किया जो इस कनेक्शन स्ट्रिंग का उपयोग करता है, लेकिन इस फ़ाइल को संपादित करने से मैं जो भी चाहता हूं वह नहीं करता है: कनेक्शन स्ट्रिंग केवल बाद में संपादित हो जाती है डीबी अनुरोध समाप्त हो गया है, और यह ऐप को फिर से लोड करता है।

मुझे आपके पास कोई विचार है कि यह सुपर होगा, मैं थोड़ा खो गया हूं, मैंने अभी कुछ बैकएंड ऐप करना शुरू कर दिया है (मैं इंटर्नशिप में हूं) मैं केवल फ्रंट एंड पहले कर रहा था।

पढ़ने के लिए धन्यवाद, यह थोड़ा लंबा है। मैं क्या मैं मंचों में सफल परिणामों के साथ के लिए देख रहा था तो मैं अपने आप को द्वारा पूछने का प्रयास करें

सन्नी

उत्तर

3

आप गतिशील new OracleConnection सेट कर सकते हैं नहीं मिला है, लेकिन आप भी true को contextOwnsConnection सेट की जरूरत है।

"Erreur CS1503 तर्क 1: रूपांतरण असंभव 'डे Oracle.ManagedDataAccess.Client.OracleConnection' en 'System.Data.Entity.Infrastructure.DbCompiledModel'"

public partial class Entities : DbContext 
    { 
     public Entities() 
      : base(new OracleConnection("DATA SOURCE=Server; PASSWORD=123;USER ID=SYSTEM"), true) 
     { 

     } 
     } 
+0

यह अपनी त्रुटि का समाधान आपका बहुत बहुत धन्यवाद ! यह वही है जो मुझे चाहिए! –

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