2012-12-17 9 views
7

यह कुछ बार पूछा गया है लेकिन मैं किसी भी सुझाव को मेरे लिए काम करने में सक्षम नहीं हूं।विंडोज़ एज़ूर, एंटिटी फ्रेमवर्क। कीवर्ड समर्थित नहीं है: 'मेटाडेटा'।

मेरे पास एक वेबसाइट और SQL डेटाबेस है जिसे मैंने स्थानीय रूप से बनाया है और अब Azure में तैनात किया गया है। डेटाबेस वेबसाइट से एक लिंक संसाधन है। मैं वेबसाइट ब्राउज़ करने में सक्षम हूं और मैं ADO.Net और मानक कनेक्शन स्ट्रिंग का उपयोग कर डेटाबेस के विरुद्ध क्वेरी को कनेक्ट और चलाने में भी सक्षम हूं।

समस्या तब होती है जब मैं एंटीटी फ्रेमवर्क का उपयोग करके कनेक्ट करने का प्रयास करता हूं, मुझे प्राप्त करने वाला कीवर्ड कीवर्ड समर्थित नहीं है: 'मेटाडाटा'। मैंने कई सक्रिय रिकॉर्ड सेट हटा दिए हैं और " को 'के साथ बदलने की कोशिश की है लेकिन यह काम नहीं कर रहा है। मैं पूरी तरह से विचारों के लिए अटक गया हूँ।

metadata=res://*/mySuperModel.csdl|res://*/mySuperModelModel.ssdl|res://*/mySuperModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=tcp:myServerName.database.windows.net,1433;Initial Catalog=myDatabaseName;User [email protected];Password=myPasswordHere;" 

तुम्हारा और ध्यान दें कि कनेक्शन प्रकार "कस्टम" नीला पोर्टल में है के साथ तुलना करें:

+0

क्या आप अपनी पूर्ण कनेक्शन स्ट्रिंग (सर्वर नाम और पासवर्ड छोड़कर) और ईएफ का संस्करण पोस्ट कर रहे हैं, और जिस दृष्टिकोण का आप उपयोग कर रहे हैं (यानी। कोडफर्स्ट, मॉडल फर्स्ट, डाटाबेस फर्स्ट)। फिर त्रुटि का सटीक ढेर निशान।एमएआरएस कम से कम 2 साल से एसक्यूएल एज़ूर के साथ समस्या नहीं है। – astaykov

+0

क्षमा करें। मैं चीजों को 3 बजे भूल जाता हूं। मेरे पास भी पेस्ट करने के लिए तैयार था। मैं " को 'और साथ ही नीचे उल्लिखित अनुसार कस्टम प्रकार को कस्टम में बदलकर इसे ठीक करने में सक्षम था। –

उत्तर

18

यहाँ मेरी कनेक्शन स्ट्रिंग Azure पोर्टल में परिभाषित किया गया है, एक DatabaseFirst दृष्टिकोण के लिए है।

+0

कृपया ध्यान दें कि मेरे पास मेरी कनेक्शन स्ट्रिंग में सक्रिय एमएआरएस नहीं है, लेकिन ऐसा इसलिए है क्योंकि मैं एसक्यूएल एज़ूर फेडरेशन (जो एमएआरएस का समर्थन नहीं करता) का उपयोग करता है। एक नियमित एसक्यूएल एज़ूर कनेक्शन के साथ, आप इसे सुरक्षित रूप से सक्रिय कर सकते हैं। – JYL

+0

धन्यवाद। मेरी समस्या यह थी कि कनेक्शन का प्रकार बदला नहीं गया था। इसे कस्टम करने के लिए इसे व्यवस्थित करना। –

+0

यह काम करता है - धन्यवाद !! कृपया सभी को ध्यान दें - Azure> ऐप सर्वर, ऐप सेटिंग्स पर जाएं ... मुझे सूचीबद्ध कनेक्शनस्ट्रिंग से प्रारंभिक "और समापन" को हटाना पड़ा! इतना छोटा विवरण याद करने में इतना आसान है। आप इसे ऊपर दिए गए उदाहरण में नहीं देखते हैं, क्योंकि यह वहां नहीं होना चाहिए। फिर से धन्यवाद! – Neville

2

मुझे ओपी के समान समस्या थी, लेकिन उसका समाधान मेरे लिए काम नहीं करता था।

यह एक कनेक्शन स्ट्रिंग मुद्दा था, लेकिन उद्धरण के साथ नहीं।

चूंकि यह मुझे दो दिन हल करने लग गए, हो सकता है इस में मदद मिलेगी किसी और:

कनेक्शन स्ट्रिंग (मैं विकसित कि काम करता है [मेरे ASP.NET MVC 4.5/इकाई की रूपरेखा 5.0 आवेदन के लिए जब Azure पर होस्ट स्थानीय रूप से SQL सर्वर 2012 के विरुद्ध, लेकिन डेटाबेस को Azure SQL डेटाबेस में माइग्रेट करें (SQL Database Migration Wizard का उपयोग करके))। मैं अपने .edmx फ़ाइल बनाने के लिए (मैं डेटाबेस से (डेटा) मॉडल उत्पन्न) डेटाबेस का उपयोग कर रहा पहला] है:

<add name="MYPROJECTENTITIES" connectionString="**metadata=**res://*/MODELS.MYPROJECTMODEL.csdl|res://*/MODELS.MYPROJECTMODEL.ssdl|res://*/MODELS.MYPROJECTMODEL.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=tcp:B6JD5K5EP4.database.windows.net,1433;Initial Catalog=MYPROJECT_DB;Integrated Security=False;User [email protected];Password=MYPASSWORDABC123;**MultipleActiveResultSets=True**;Encrypt=True;TrustServerCertificate=False&quot;" providerName="System.Data.EntityClient"/> 

अपरकेस में पाठ मेरी Azure जानकारी है। जाहिर है, आपको इसके बजाय अपना इस्तेमाल करने की आवश्यकता होगी।

कनेक्शन स्ट्रिंग का यह हिस्सा मुझे बुरे सपने दे दी है, और यह आपकी समस्या का अच्छी तरह से कारण हो सकता है:

res://*/Models.MyProjectModel.csdl|res://*/Models.MyProjectModel.ssdl|res://*/Models.MyProjectModel.msl 

उन संदर्भों को बिल्कुल सही रहना होगा। मुझे दोहराने दो: उन संदर्भों को बिल्कुल सही होना चाहिए !!

this article from 2008 ("समस्या निवारण इकाई की रूपरेखा कनेक्शन स्ट्रिंग्स") पढ़ने के बाद, मैं नेट परावर्तक इस्तेमाल किया MyProjectModel.dll (मेरी .dll के नाम (संभावना अपनी परियोजना में विभिन्न) जैसे वह पता चलता है और, यकीन है कि अंदर देखने के लिए पर्याप्त, कनेक्शन स्ट्रिंग (जो एंटीटी फ्रेमवर्क द्वारा मेरे लिए स्वचालित रूप से जेनरेट की गई थी!) गलत थी। इसमें उपसर्ग शामिल नहीं था। जैसे ही मैंने मॉडल जोड़े। उपसर्ग (जो कि .csdl/.msl/.ssdl को मेरे .dll (संभवतः आपके में अलग) के अंदर नामित किया गया है), सबकुछ बढ़िया काम करता है। अपने .dll के अंदर एक नज़र डालें और देखें कि नाम मेल खाते हैं या नहीं। अगर नहीं, तो .dll में दिखाई देने वाले मिलान से मिलान करें। (उपर्युक्त आलेख पढ़ें यदि मैं जो कह रहा हूं वह पर्याप्त स्पष्ट नहीं है।)

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