2009-03-28 10 views
5

Sto eseguendo ASP.NET MVC su un server condiviso e sto riscontrando problemi di connessione a SQL tramite System.Data.EntityClient. Di seguito c'è la stringa di connessione che il mio provider di hosing mi ha fornito per connettermi a SQL e quella che VS ha configurato per il mio computer locale durante lo sviluppo, quale dovrebbe essere la mia stringa di connessione quando eseguo il deploy sul server?ASP.NET System.Data.EntityClient help per la stringa di connessione

Dal mio fornitore di hosting:

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

Da VS (durante lo sviluppo):

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" 

Grazie!

risposta

7

dovete avvolgere la stringa di connessione instide una stringa di connessione ente che sia nel formato

<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"/> 

Invece di:

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

Utilizzare questa:

<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

Grazie. Ok, ha funzionato, anche se ora sto ricevendo un errore 500 - "C'è un problema con la risorsa che stai cercando, e non può essere visualizzato.". Potrebbe esserci qualcosa di sbagliato con la res: // percorsi? perché iniziano con '* /'? – Birdman

+0

Hai sostituito l'origine dati, dbname, userid e password? – bendewey

+0

Provare a togliere l'ultima parte della stringa di connessione del provider che dice MultipleResultSets = true; – bendewey

0

Cambiare il provider da entityclient a sqlclient (si presuppone che il codice sia il primo EF).

providerName = "System.Data.EntityClient" />

a

providerName = "System.Data.SqlClient" />

Problemi correlati