2012-04-22 10 views
16

वापस नहीं किया है, मैं ASP.Net MVC3, Entity Framework और MySQL का उपयोग करके एक वेब ऐप बनाने की कोशिश कर रहा हूं।प्रदाता ने प्रदाता मैन्युअल टाइप स्ट्रिंग त्रुटि

मैंने अपने वेब पर निम्नलिखित कोड जोड़ा है। कॉनफिग फ़ाइल।

<connectionStrings> 
    <add name="ContactContext" connectionString="server=localhost;database=contacts;uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/> 

    </connectionStrings> 

मैं भी बनाया है "व्यक्ति" मॉडल, "ContactContext" परियोजना "Contact_Me" में। जब मैं व्यक्ति मॉडल और संपर्क संदर्भ सहित एक "ContactController" बनाने का प्रयास करें, यह मेरे निम्न त्रुटि

Connect_Me.Models.Persons "" के लिए मेटाडेटा प्राप्त करने में असमर्थ "। प्रदाता एक ProviderManifestToken वापस नहीं किया था देता है स्ट्रिंग "

MYSQ & MVC3 SQL connection error \ ProviderManifestToken but I am using MySQL, यह मेरा सबसे नज़दीकी सवाल है। लेकिन जवाब ने मेरी समस्या का समाधान नहीं किया।

अग्रिम धन्यवाद

+0

क्या आप पूरा अपवाद संदेश पोस्ट कर सकते हैं? मैंने यह त्रुटि विशेष रूप से पहले MySQL को पैर किया है, लेकिन यह देखने की आवश्यकता है कि यह वही है या नहीं। और stacktrace भी। – Xharze

+0

यह केवल त्रुटि संदेश है जब मैं संपर्क नियंत्रक बनाने के लिए फ़ॉर्म भरने के बाद ठीक बटन पर क्लिक करता हूं। – har

+0

कृपया जांचें, अगर कनेक्टिंग स्ट्रिंग को सही Web.config फ़ाइल में जोड़ा गया है। यह रूट कॉन्फ़िगरेशन फ़ाइल में नहीं होना चाहिए (दृश्य/Web.config में नहीं) –

उत्तर

2

समस्या MySQL कनेक्टर/नेट के साथ थी।

मैंने पहले माइस्क्लुएल कनेक्टर/नेट 6.3.5 का उपयोग किया था और इसके बाद मैंने इसे अनइंस्टॉल किया और MySQL कनेक्टर/नेट 6.5.4 स्थापित किया था, तो समस्या ठीक हो गई थी। आप http://www.mysql.com/products/connector/

0

त्रुटि आपके कनेक्शन स्ट्रिंग में हो सकती है। आप में से ऊपर लॉग का उपयोग कर अपने डीबी उदाहरण से कनेक्ट करने की कोशिश की है। आप एक

connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/> 
नीचे एसक्यूएल एक्सप्रेस उपयोग उपयोग कर रहे हैं, और कनेक्शन स्ट्रिंग को बदलने

connectionString="Data Source=.;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/> 

उपयोग ऊपर यदि आप SQL सर्वर का उपयोग कर रहे कोशिश

+0

मैंने डीबी इंस्टेंस में लॉग इन करने का प्रयास किया। यह बढ़िया काम करता है। मुझे यह भी लगता है कि समस्या कनेक्शन स्ट्रिंग के साथ है। आपका समाधान भी काम नहीं किया। – har

+0

आप MSSQL का उपयोग करते समय "MySQL" के लिए प्रदाता नाम का उपयोग कर रहे हैं। – ilter

0

पर नवीनतम कनेक्टर पा सकते हैं भले ही इसका उत्तर दिया गया हो, लेकिन मुझे एक ही समस्या का अनुभव हुआ है और यदि यह कनेक्शन स्ट्रिंग में था; मेरे पास "एकीकृत सुरक्षा" का हिस्सा था जब मुझे वास्तव में इसका उपयोग नहीं करना चाहिए था; मैं डेटाबेस प्रमाणीकरण पर भरोसा कर रहा था।

मैं "एकीकृत सुरक्षा = सच" हिस्सा निकाल दिया है और यह पूरी तरह से काम किया :)

20

मैं इस तुम लोगों के एक जोड़े के लिए बहुत ही बुनियादी हो सकता है पता है, लेकिन यह अपवाद भी मामलों में फेंक दिया जाता है जहां एफई में असमर्थ है उपयोग करने के लिए एक कनेक्शन स्ट्रिंग का पता लगाने के लिए। यदि आप बहु-स्तरित एप्लिकेशन में काम कर रहे हैं, तो सुनिश्चित करें कि क्लास लाइब्रेरी के बजाय कनेक्शन क्लाइंट को आपके क्लाइंट एप्लिकेशन में जोड़ा गया है जिसमें डेटा एक्सेस कोड है। बस मेरे 2 सेंट।

+1

ईएफ पावर टूल्स रिवर्स इंजीनियर (कोड फर्स्ट) का उपयोग करते समय मुझे त्रुटि मिल रही थी, और आपका उत्तर स्पॉट पर था। मैंने ईएफ पावरटूल में कनेक्शन निर्दिष्ट किया था, लेकिन गंतव्य एप्लिकेशन के web.config से गायब था। इसके लिए धन्यवाद! – hardba11

+0

मेरे मामले में सही कारण। धन्यवाद, उपयोगकर्ता 18435 9 4! –

+0

एक विकृत कॉन स्ट्रिंग भी इसका कारण बनती है। स्वरूपण त्रुटि के कारण मेरे पास दो बार मेरे कॉन स्ट्रिंग में बंदरगाह था (उदाहरण: "server.com:3306:3306") और यह त्रुटि मिली। – dlchambers

10

मुझे यह त्रुटि मिली जब मेरा एसक्यूएल सर्वर वास्तव में नीचे था। तो, कृपया सुनिश्चित करें कि आपका एसक्यूएल सर्वर ऊपर और चल रहा है।

0

कंप्यूटर को पुनरारंभ करने के लिए मेरे लिए काम किया।

यह संदेश दिखा रहा था, मुझे अपने कंप्यूटर [विंडोज 10] और परीक्षण सर्वर के बीच कोई अंतर नहीं मिला जहां एप्लिकेशन को उसी कॉन्फ़िगरेशन के साथ तैनात किया गया था और उसी डेटाबेस का उपयोग कर सही ढंग से काम कर रहा था। इसका मतलब है कि समस्या शायद परीक्षण सर्वर पर चल रहे डेटाबेस से कनेक्ट नहीं थी।

उल्लेखनीय है कि पुनरारंभ करते समय कुछ विंडोज अपडेट लंबित थे।

1

कभी कभी इस मुद्दे के साथ-साथ sslmode की वजह से उठता है, मेरे लिए समाधान

मैं

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;sslmode=None;" providerName="MySql.Data.MySqlClient" /> 

से मेरी कनेक्शन स्ट्रिंग के लिए एक छोटा सा परिवर्तन करना पड़ा कनेक्शन स्ट्रिंग को sslmode = कोई नहीं जोड़ने के लिए था

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;sslmode=None;" providerName="MySql.Data.MySqlClient" />