6

मैं इकाई फ्रेमवर्क कोड का उपयोग कर रहा हूं पहले 4.3 + Azure और डेटाबेस से कनेक्ट करने में कठिनाइयों का सामना कर रहा हूं। त्रुटि मैं मिलता है (पहली क्वेरी पर) निम्नलिखित:इकाई फ्रेमवर्क कोड प्रथम Azure कनेक्शन

Keyword not supported: 'server'. 

मेरे पास निम्न कनेक्शन मेरी Web.config में स्थापित

<configSections> 
    type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 

    <connectionStrings> 
    <add name="TestDBContext" 
     connectionString="Server=tcp:[SUBSCR].database.windows.net,1433;Database=[MyDB];User ID=[user];Password=[pass];Trusted_Connection=False;Encrypt=True;PersistSecurityInfo=True" 
     providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

मेरे DbContext को लागू करने वर्ग कनेक्शन स्ट्रिंग के नाम का उपयोग करता है:

public class MyContext : DbContext, IMyContext 
    { 
     public MyContext() 
      : base("TestDBContext") 
     { 
      Configuration.LazyLoadingEnabled = true; 
      Configuration.ProxyCreationEnabled = true; 
     } 

क्या आप बता सकते हैं कि क्या हो रहा है?

उत्तर

0

मैंने ऐसा करने की कोशिश की, यह आपकी मदद कर सकता है। 1433 समस्या हो रही है, क्या यह पोर्ट नंबर है? और क्या? । इस तरह की कोशिश करो।

जांच के लिए इस लिंक Windows Azure with Sql

<add name="dbContext" connectionString="Server=tcp:xxxxxxxx.database.windows.net;Database=xxxxxxxx;User [email protected];Password=xxxxxxxxxx;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.EntityClient" /> 
+0

पर यह भी कोशिश नहीं की जाएगी, यह काम नहीं करता है ... 1433 एसक्यूएल सर्वर के लिए डिफ़ॉल्ट पोर्ट है और मैंने प्रतिलिपि को मेरे Azure सदस्यता/डेटाबेस से कनेक्शन स्ट्रिंग चिपकाया है। –

0

इस प्रयास करें:

डेटा स्रोत = टीसीपी: YOUR-DATABASE-HERE.database.windows.net, 1433; डाटाबेस = गोल्फ राउंड्स; उपयोगकर्ता आईडी = आपका-उपयोगकर्ता नाम @ आपका-सर्वर; पासवर्ड = YOUR-पासवर्ड; Trusted_Connection = झूठी; एन्क्रिप्ट = सच;

http://msdn.microsoft.com/en-us/library/windowsazure/ff951633.aspx पर एक एमएसडीएन आलेख भी है जो उपयोगी हो सकता है।

+0

कीवर्ड समर्थित नहीं है: 'डेटा स्रोत'। –

5

मुझे बस एक ही समस्या थी।

आप कनेक्शन स्ट्रिंग में सभी मेटाडेटा खो रहे हैं जो इकाई फ्रेमवर्क की आवश्यकता है। एसक्यूएल एज़ूर द्वारा प्रदान की गई कनेक्शन स्ट्रिंग को ईएफ की कनेक्शन स्ट्रिंग के provider connection string पैरामीटर के भीतर डालने की आवश्यकता है।

<add name="MyConnectionString" connectionString="metadata=res://*/Model.Model.csdl|res://*/Model.Model.ssdl|res://*/Model.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;[PUT SQL AZURE CONN STRING HERE]&quot;" providerName="System.Data.EntityClient" />

आप अपनी खुद की परियोजना से मेटाडाटा का उपयोग करना होगा। मैंने एक मौजूदा डेटाबेस से उत्पन्न ईएफ परियोजना से उस मेटाडेटा को खींच लिया।

+1

मैं ईएफ कोड का उपयोग कर रहा हूं पहले + डीबीकॉन्टेक्स्ट (मैं डेटाबेस से अपना डेटा मॉडल नहीं बना रहा हूं) इसलिए मेरे पास विकास समय पर कोई मेटाडेटा उपलब्ध नहीं है। –

+7

@Sese यदि आप पहले कोड का उपयोग कर रहे हैं, तो आपका कनेक्शन स्ट्रिंग प्रदाता 'System.Data.SqlClient' होना चाहिए 'System.Data.EntityClient'। – ryanmcdonnell

2

मुझे एक ही समस्या थी। मैं हल, web.config में इस connectionstring डाल:

<add name="eManagerTurModelConnection" connectionString="metadata=res://*/ORM.eManagerFinanceModel.csdl|res://*/ORM.eManagerFinanceModel.ssdl|res://*/ORM.eManagerFinanceModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=<server>.database.windows.net;Initial Catalog=eManagerTur;Integrated Security=False;User ID=<user>;Password=<Password>;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

और बाद मुझे अपने स्थल के connectionstring हटा दिया, काम किया, क्योंकि यह कनेक्शन स्ट्रिंग है कि मैं अपने web.config में नहीं जोड़ा हो रही थी।

अंग्रेजी बुरा ... =)

2

प्रदाता ProviderName = "System.Data.SqlClient"

मैं वी.एस. से नीला से जुड़े और उसके बाद गुण को देखा हो सकता है और मेरी कनेक्शन स्ट्रिंग स्थापित करना चाहिए और प्रदाता का नाम।

<add name="context" connectionString="Data Source=myServer,myPort;Initial Catalog=myDBName;Persist Security Info=True;User ID=myUserName;Password=myPassword;" providerName="System.Data.SqlClient"/> 

मैं अद्यतन के बिना अद्यतन-डेटाबेस चलाने में सक्षम था।

-1

मुझे ऐसी ही समस्या थी जहां मुझे मेटाडेटा तक पहुंच नहीं थी, इस मामले में आपको System.Data.SqlClient को प्रदाता के रूप में उपयोग करने की आवश्यकता है।आपको अपने कनेक्शन स्ट्रिंग

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