2009-03-28 19 views
5

Ich führe ASP.NET MVC auf einem freigegebenen Server und habe Probleme beim Herstellen einer Verbindung mit SQL über System.Data.EntityClient. Im Folgenden finden Sie die Verbindungszeichenfolge, die mir mein Hosing-Provider für die Verbindung mit SQL und die für die lokale Maschine konfigurierte VS während der Entwicklung gegeben hat. Wie sollte meine Verbindungszeichenfolge bei der Bereitstellung auf dem Server aussehen?ASP.NET System.Data.EntityClient Verbindungszeichenfolge help

Von meinem Hosting-Provider:

<add name="WeddingsDBEntities" 
    connectionString="data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;" 
    providerName="System.Data.EntityClient"/> 

Von VS (während der Entwicklung):

connectionString="metadata=res://*/Models.WeddingsModel.csdl|res://*/Models.WeddingsModel.ssdl|res://*/Models.WeddingsModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WeddingsDB.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" 

Dank!

Antwort

7

Sie haben die Verbindungszeichenfolge instide eine Entität Verbindungszeichenfolge wickeln, die von

im Format
<add name="Name" 
    connectionString="metadata=<Conceptual Model>|<Store Model>|<Mapping Model>; 
    provider=<Underlying Connection Provider>; 
    provider connection string=&quot;<Underlying ConnectionString>&quot;" 
    providerName="System.Data.EntityClient"/> 

Statt:

<add name="WeddingsDBEntities" 
    connectionString="data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;" 
    providerName="System.Data.EntityClient"/> 

Verwendung dieser:

<add name="WeddingsDBEntities" 
    connectionString="metadata=res://*/Models.WeddingsModel.csdl|res://*/Models.WeddingsModel.ssdl|res://*/Models.WeddingsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;MultipleActiveResultSets=True&quot;" 
    providerName="System.Data.EntityClient"/> 
+0

Dank. Ok, so dass es funktioniert, obwohl ich jetzt einen Fehler 500 erhalte - "Es gibt ein Problem mit der Ressource, die Sie suchen, und es kann nicht angezeigt werden.". Könnte etwas mit den res: // Pfaden falsch sein? Warum beginnen sie mit '* /'? – Birdman

+0

Haben Sie die Datenquelle, den Datenbanknamen, die Benutzer-ID und das Passwort ersetzt? – bendewey

+0

Versuchen Sie, den letzten Teil der Providerverbindungszeichenfolge mit MultipleResultSets = true zu entfernen. – bendewey

0

Ändern Sie den Provider von entityclient in sqlclient (gehen Sie davon aus, dass der Code zuerst EF ist).

provider = "System.Data.EntityClient" />

zu

provider = "System.Data.SqlClient" />

Verwandte Themen