2012-10-02 6 views
21

सेट करने के बाद भी हमें क्लाउड पर हमारे एप्लिकेशन के तैनात संस्करण के साथ कुछ मुद्दों का सामना करना पड़ रहा है।एसक्यूएल एज़ूर + एक त्रुटि प्राप्त करना 'इस कमांड से जुड़ा एक खुला डेटा रीडर है ..', 'एकाधिक एक्टिव रीसेट्ससेट्स = ट्रू'

हमारा एप्लिकेशन एडीओ .NET इकाई फ्रेमवर्क के साथ एक एएसपी.नेट एमवीसी 3 प्रोजेक्ट है।

msdn ब्लॉग्स के मुताबिक, हमें हमारे डेटाबेस कनेक्शन स्ट्रिंग में पैरामीटर 'एकाधिक एक्टिव रेसल्टसेट्स = ट्रू' (एसक्यूएल एज़ूर के साथ एंटीटी फ्रेमवर्क के लिए) पैरामीटर जोड़ने की जरूरत है जिसे हमने सही तरीके से किया है।

हमें हमारे आवेदन से डेटाबेस क्वेरी निष्पादित करते समय निम्नलिखित अपवाद मिलता है: '' पहले से ही एक बंद डेटा रीडर है जो इस कमांड से जुड़ा हुआ है जिसे पहले बंद किया जाना चाहिए। ", जो मुझे लगता है कि 'MultiActiveResultSets' से बहुत अधिक संबंधित है = सही 'संपत्ति।

एप्लिकेशन स्थानीय स्तर पर स्थानीय स्तर पर तैनात डेटाबेस के साथ-साथ SQL एज़ूर डेटाबेस (स्थानीय वातावरण पर) का उपयोग करके स्थानीय वातावरण पर ठीक काम करता है।

लेकिन जब हम क्लाउड के हमारे आवेदन को तैनात करते हैं तो हमें उपर्युक्त त्रुटि मिलती है। ऐसा लगता है कि 'एकाधिकActiveResultSets = True' गुण कनेक्शन स्ट्रिंग से नहीं पढ़ा जा रहा है।

<connectionStrings> 
     <add name="#DBInstanceName#" connectionString="Data Source=tcp:#server#.database.windows.net,1433;Initial Catalog=#DBName#;User ID=”UserName#@#server#;Password=”#password#”;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 

मैं किसी भी अपवाद के बिना स्थानीय स्तर पर तैनात आवेदन से ऊपर कनेक्शन स्ट्रिंग का उपयोग कर एसक्यूएल Azure डेटाबेस से कनेक्ट करने में सक्षम हूँ:

कनेक्शन स्ट्रिंग है कि मैं उपयोग कर रहा हूँ इस प्रकार है। लेकिन एक ही अनुप्रयोग स्ट्रिंग का उपयोग कर क्लाउड पर तैनात किए जाने पर एक ही एप्लीकेशन मुझे ऊपर उल्लिखित त्रुटि देता है।

क्या आप कृपया इसे ठीक करने में हमारी सहायता कर सकते हैं?

+0

क्या आप [** Azure Legacy Portal **] (https://windows.azure.com/) या [** Azure पूर्वावलोकन पोर्टल **] का उपयोग कर कनेक्शन स्ट्रिंग को सत्यापित कर सकते हैं (https: //manage.windowsazure .com /) तैनाती विन्यास? प्रत्येक प्रकाशित भूमिका के लिए 'web.config' को सीधे देखने के लिए आप [रिमोट एक्सेस सेटअप और आरडीपी के माध्यम से कनेक्ट] [http://msdn.microsoft.com/en-us/library/windowsazure/gg443832.aspx) भी सेट कर सकते हैं। – SliverNinja

उत्तर

3

आप multipleresultsets = connectionsstring और पुन: प्रारंभ में सच स्थापित करने के लिए है।

जवाब निकाला गया

संपादित करें: यह बहस का विषय है! नीचे टिप्पणी की जांच करें ... मेरे पास जांच करने का समय था ...

मुझे लगता है कि यह पहले से चालू है।

मैं एक स्पॉट पर स्रोत लेकिन फैसल Mohamood (कार्यक्रम प्रबंधक, इकाई की रूपरेखा) नहीं पा सके राज्यों 2010 में वापस निम्नलिखित: ", अनावश्यक कहने के लिए हम यह सुनिश्चित करना होगा कि मंगल ग्रह स्वचालित रूप से एसक्यूएल लिए चालू कर दिया गया है Azure आधारित ऐप्स जब हम अगले अपडेट को उत्पाद पर रिलीज़ करने के लिए घूमते हैं। " इसे यहां मिला: http://blogs.msdn.com/b/adonet/archive/2010/06/09/remember-to-re-enable-mars-in-your-sql-azure-based-ef-apps.aspx

+0

अभी तक जगह में प्रतीत नहीं होता है ... एकाधिक एक्टिव रेसल्टसेट्स = अज़ूर वेब साइट की कनेक्शन स्ट्रिंग को सही करने के लिए जरूरी है, जैसा कि 'इरियम' –

38

मुझे अभी भी एक ही समस्या मिली है। मैंने Web.config कनेक्शन में "MultipleActiveResultSets = True" सेट करने का प्रयास किया है - कोई परिणाम नहीं। अंत में मैंने वेब साइट के लिए एज़ूर डैशबोर्ड पर मैन्युअल रूप से कनेक्शन स्ट्रिंग को मैन्युअल रूप से संपादित करके समस्या हल कर ली है - "कॉन्फ़िगर करें" टैब में "कनेक्शन स्ट्रिंग्स" सेटिंग्स हैं जहां आपको मैन्युअल रूप से "एकाधिक एक्टिव रेसल्टसेट्स = ट्रू" जोड़ना चाहिए। स्ट्रिंग। ऐसा करने के बाद मुझे अंततः एमएआरएस मिल गया है।

+2

द्वारा वर्णित है, कनेक्शन स्ट्रिंग को संपादित करने के बाद भी वेब साइट को पुनरारंभ करने की आवश्यकता है। –

+0

आपके उत्तर के लिए धन्यवाद। मैं अलग-अलग वातावरण प्रबंधित करने के लिए विजुअल स्टूडियो का उपयोग कर रहा था और कनेक्शन स्ट्रिंग सही थीं। मेरी टेस्ट वेबसाइट विजुअल स्टूडियो से वेब कॉन्फ़िगरेशन ट्रांसफॉर्म का उपयोग कर रही थी, हालांकि मेरा उत्पादन Azure से अपहरण कर लिया गया है। मैं Azure को अक्षम करना चाहता हूं और वीएस 2012 में कॉन्फ़िगर ट्रांसफॉर्म से सभी को प्रबंधित करना चाहता हूं। – darwindave

+1

यह काम करता है! जाहिर है, यहां तक ​​कि web.config फ़ाइल को एफ़टीपी के माध्यम से एक्सेस करना और 'MultipleActiveResultSets = True' सेट करना काम नहीं करता है। यह एकमात्र तरीका है जो इसे काटता प्रतीत होता है। – Ben

0

मैं एक ही समस्या है, लेकिन मैं, सहायक प्रकाशित से कनेक्शन स्ट्रिंग में MultipleActiveResultSets = सच हल के रूप में irium

11

वैकल्पिक रूप से आप "MultipleActiveResultSets = सच" अपने कनेक्शन स्ट्रिंग के लिए जोड़ सकते हैं और गंतव्य वेब अद्यतन कर सकते हैं। जब आप विजुअल स्टूडियो में प्रकाशित सुविधा का उपयोग कर रहे हों तो कॉन्फ़िगर करें। "रनटाइम पर इस कनेक्शन स्ट्रिंग का उपयोग करें (गंतव्य गंतव्य web.config अद्यतन करें) का चयन करना सुनिश्चित करें।" enter image description here

+1

वह था! कुछ कारणों से कनेक्शन स्ट्रिंग पुरानी थी .. धन्यवाद! –

+1

यह जाने का तरीका है, मैं हमेशा इस विधि का उपयोग करता हूं और यह बेकार ढंग से काम करता है, – pomarc

1

हम नए Azure पोर्टल पर हैं और यह समस्या भी थी। मार्स ने सभी स्थानीय देव वातावरण पर काम किया, लेकिन Azure पर एक ही बुरा अपवाद फेंक दिया। हमने सत्यापित किया है कि Azure में तैनात भौतिक web.config फ़ाइल में कनेक्शन स्ट्रिंग MultipleActiveResultSets=true; थी लेकिन इसे एप्लिकेशन द्वारा सम्मानित नहीं किया गया था। अंततः ऐप सेवा उदाहरण> सेटिंग्स> डेटा कनेक्शन, और उसी नाम के डेटा कनेक्शन को वेब.कॉन्फिग में प्रश्न के रूप में हटाने के लिए क्या काम किया जा रहा था। मेरा अनुमान है कि एक जो अज़ूर स्टोर तैनात वेब.कॉन्फिग में से एक को टंप करता है।

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