2009-03-28 8 views
5

Estoy ejecutando ASP.NET MVC en un servidor compartido y tengo problemas para conectarme a SQL a través de System.Data.EntityClient. A continuación se muestra la cadena de conexión que mi proveedor de servicios de alojamiento me dio para conectarme a SQL y la que VS configuró para mi máquina local durante el desarrollo, ¿cómo debería ser mi cadena de conexión cuando implemente en el servidor?ASP.NET System.Data.EntityClient cadena de conexión ayuda

Desde mi proveedor de alojamiento:

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

De VS (durante el desarrollo):

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" 

Gracias!

Respuesta

7

Tienes que envuelva la cadena de conexión instide una cadena de conexión entidad que está en el formato de

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

En lugar de:

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

Utilice esta:

<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

Gracias. Ok, eso funcionó, aunque ahora recibo un error 500 - "Hay un problema con el recurso que está buscando y no se puede mostrar". ¿Podría haber algún problema con res: // paths? ¿Por qué comienzan con '* /'? – Birdman

+0

¿Reemplazó la fuente de datos, el nombrebd, el ID de usuario y la contraseña? – bendewey

+0

Intente quitar la última parte de la cadena de conexión del proveedor que dice MultipleResultSets = true; – bendewey

0

Cambie el proveedor de entityclient a sqlclient (suponga primero el código EF).

providerName = "System.Data.EntityClient" />

a

providerName = "System.Data.SqlClient" />

Cuestiones relacionadas