c# - que - update-database: "Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server"
entity framework versions (3)
Tengo un proyecto simple de C #.
Esta es mi cadena de conexión en mi
web.config
para la base de datos:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=172.17.0.47;Initial Catalog=DevSystemListe;User ID=web_access;Password=123456"
providerName="System.Data.SqlClient" />
</connectionStrings>
Ya me aseguré de que esta conexión funcionara. Puedo conectarme a mi base de datos desde Visual Studio con esta conexión y también puedo ver las tablas y los datos.
Cuando quiero actualizar mi base de datos con
update-database
, ocurre este error:
Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. El servidor no se encontró o no estaba accesible. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: interfaces de red SQL, error: 26 - Error al localizar el servidor / instancia especificada)
Desinstalé Entity Framework y luego lo instalé nuevamente. Nada ha cambiado.
Dice que puede usar esta cadena de conexión para ver datos y tablas ... ¿también puede usar esta conexión para insertar nuevos registros?
Para cada usuario, SQL Server le permite definir si tienen acceso de lectura y / o escritura.
¿Quizás a su usuario le falta el permiso
db_datawriter
...?
Finalmente lo descubrí.
Tengo un proyecto de sitio web y mi API en mi solución.
El problema era que el sitio web estaba configurado como proyecto de inicio.
De modo que el marco de la entidad buscó la cadena de conexión en el sitio
web.config
del sitio web y no en el sitio
web.config
de la API.
Cambiar el proyecto de inicio a mi API resolvió el problema.
Si desea tener el proyecto del sitio web como proyecto de inicio.
Simplemente copie la cadena de conexión en los sitios web
web.config
.
Sin embargo, gracias por la ayuda de todos.
Si la aplicación se ejecuta bajo IIS completo, entonces se necesita alguna configuración para IIS para garantizar que la instancia localDB se pueda usar en la aplicación. Ver https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/