He creado una aplicación C # que usa una base de datos SQL Server. Tengo otras computadoras conectadas conmigo y entre sí en un grupo de trabajo. He compartido mi aplicación C # con otros. Cuando abren la aplicación, reciben el 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
Pero la aplicación funciona bien en mi PC. La cadena de conexión que estoy usando es
Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159
que se almacena en un .config
archivo.
La aplicación funciona bien en mi PC. ¿Que debo hacer? He habilitado el TCP / IP en el servidor pero el mismo error persiste. ¿Algún cambio en la cadena de conexión o algo más?
sql-server
connectivity
Comunidad
fuente
fuente
Respuestas:
Hay dos niveles de seguridad que deben cambiarse para permitir el acceso remoto.
Configuración del servidor SQL . Por defecto en las ediciones Express, Developer y Enteprise Evaluation, la conexión por el protocolo TCP / IP está desactivada . Habilite esto usando el Administrador de configuración de SQL Server.
Firewall de Windows . Si bien deshabilitar el firewall por completo funcionará para este componente, hacerlo no es una práctica recomendada de seguridad (ni es obligatorio). (Nota: en esta sección, supongo una configuración predeterminada . Hay muchas configuraciones que se pueden cambiar que afectan levemente estos pasos).
Hay dos casos según el tipo de instancia de SQL Server a la que se está conectando:
Instancia predeterminada (conectar solo por nombre de computadora). Agregue una regla de entrada entrante en el puerto TCP 1433 o en el servicio del motor de base de datos.
Instancia con nombre (conectar por nombre de computadora + nombre de instancia). Agregue una regla de entrada entrante en el puerto UDP 1434 para acceder al servicio del navegador SQL. Agregue una regla de entrada entrante en el servicio del motor de base de datos.
Este procedimiento está completamente documentado aquí , o puede verme explicar y luego recorrer la configuración de una instancia con nombre aquí .
fuente
Debe establecer la configuración de red correcta en su servidor SQL: TCP / IP activo en el servidor SQL También asegúrese de que su servicio de navegador del servidor se esté ejecutando, porque si se detiene, no puede acceder al SQL- Servidor.
fuente
Asegúrese de que el servicio sqlbrowser esté activado como lo menciona bendeg, y que UDP 1434 esté abierto en su máquina para que los clientes puedan acceder al sqlbrowser para resolver el nombre. Abra también el puerto TCP / IP de la instancia con nombre.
Para encontrar el puerto de su instancia, conéctese utilizando el prefijo tcp: en Management Studio de la siguiente manera: tcp: ASHISHPC1 \ SQLEXPRESS y el resultado de la consulta a continuación debería ser el puerto que necesita exponer a los clientes de su grupo de trabajo.
fuente
Desactivé el firewall de Windows para Home Network y funcionó bien ... Gracias a todos ... :)
fuente
Su servidor SQL debe permitir conexiones TCP / IP y su Firewall de Windows debe estar apagado para la red doméstica. http://learnadvancecsharp.blogspot.in/2013/09/how-to-access-sql-server-database-from.html
fuente