java - forname - microsoft jdbc driver 4.0 for sql server
¿Cómo puedo hacer que MS SQL Server esté disponible para las conexiones? (11)
Estoy intentando conectarme a MS SQL Server (ejecutándose en mi máquina) desde un programa Java. Obtengo la siguiente excepción de largo aliento:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".
Cuando selecciono "Propiedades" y hago clic en "Ver propiedades de conexión" en el Explorador de objetos de MS SQL, encuentro que "El servidor no está disponible". Esto parece relacionado posiblemente con el mensaje de excepción.
¿Cómo puedo hacer que el servidor esté disponible?
Editar:
Estoy usando SQL Server 2008, y ahora he habilitado TCP / IP, y reinicié mi instancia. Todavía me dicen que "El servidor no está disponible".
¿Alguna otra idea?
Abra el Administrador de configuración del servidor Sql. (Inicio | Programas | Cualquier versión de servidor SQL | Herramientas de configuración)
Navegue hacia abajo hasta ''SQL Server Services'' y reinicie su instancia. Sin embargo, puede hacer esto en Management Studio haciendo clic derecho en la instancia y seleccionando reiniciar.
Si su reinicio falla, entonces vea Computer Management | Visor de eventos | Aplicación y busca eventos de servidor sql. grabará mensajes exitosos y de error aquí.
Antes de meterse con las conexiones, primero verifique que el servicio SQL Server se esté ejecutando.
Puede hacerlo utilizando el Administrador de configuración de SQL Server (ubicado en la carpeta de herramientas de configuración) o en la consola de servicios estándar en el panel de control de Windows.
Una vez que haya comprobado que el servicio está en funcionamiento, debe asegurarse de que SQL Server se haya configurado para permitir conexiones remotas.
Vea a continuación una explicación sobre cómo hacer esto:
Aquí están mis capturas de pantalla. Si no puede leer las palabras, descargue la imagen o copie y pegue la imagen en Paint.
Dentro de Glassfish:
"Pestaña General:
Pestaña "Propiedades adicionales"
URL = jdbc: sqlserver: // localhost; databaseName = NETEAV
Dentro de Microsoft SQL Server Management Studio:
Como es habitual, compruebe lo obvio: 1. Compruebe si su enrutador tiene habilitados los puertos 1433 y 1434 (estos son los valores predeterminados para la comunicación IP / UDP). 2. Asegúrese de que si tiene un firewall instalado en el cliente o servidor, eso dichos puertos no están bloqueados (este es el que fue mi "gotcha"). 3. Vaya al Administrador de configuración de Sql y en Configuración de red de servidor Sql, asegúrese de que TCP / IP esté habilitado. Además, en el mismo programa en Sql Native Client 1.0 (si está instalado), también tiene TCP / IP habilitado.
Una manera barata y sórdida de garantizar que toda su información de conexión funcione es crear un archivo .udl (en cualquier lugar de su sistema), complete la información adecuada y presione "Probar conexión". Si hay algo mal allí, recibirá un mensaje (bastante) informativo sobre el problema. Si no conoce los archivos .udl, haga clic con el botón derecho en el Explorador de Windows (panel lateral derecho) para crear un "Nuevo archivo de texto". Escriba cualquier nombre aceptable, pero cambie la extensión de .txt a .udl. Se le pedirá que confirme el cambio de extensión, responda que sí. Una vez creado, haga clic en el archivo (o haga doble clic si no usa un solo clic) para abrirlo. Hay 4 pestañas El primero le permite seleccionar el proveedor. Para Visual Studio use el cliente nativo Sql, para cualquier otro programa, pruebe el proveedor de servidor Sql estándar. En la segunda pestaña, puede completar el nombre del servidor, el nombre de usuario y la contraseña del servidor SQL (si se usa), etc. Luego, pruebe la conexión. Otro elemento a tener en cuenta: si está utilizando la Autenticación de Windows, asegúrese de que esos usuarios se hayan agregado a los Inicios de sesión del Servidor.
Compruebe si la conexión está bloqueada por Firewall o no. Si el Firewall de terceros está activo, puede bloquear la conexión TCP. Después de este paso-
1. Marque TCP habilitado o no
a. Abra el Administrador de configuración de SQL Server
segundo. Configuración de red de SQL Server
do. Protocolos para MSSQLSERVER
re. TCP - Habilítalo
mi. Verifique también escuchar todos - Sí
F. En la pestaña Direcciones IP, IPAll - el número de puerto debe ser 1433
Dependiendo de la versión de SQL Server que esté utilizando, puede que esté configurado solo para utilizar canalizaciones con nombre de manera predeterminada.
Debe habilitar las conexiones TCP / IP con el servidor. Si puede decirnos qué versión de SQL Server está utilizando, podemos dar instrucciones más precisas sobre cómo habilitar TCP / IP.
Desde 2005 en adelante, el servicio del navegador del servidor SQL se está ejecutando.
Ese me engañó muchas veces.
Estoy usando SQL Server 2012 y he tenido los mismos problemas.
Tenga en cuenta que cuando active TCP / IP hay 2 opciones:
-
Active - YES
- Si solo hace clic en sí, no funcionará -
Enabled
: haga clic en Sí en esto también. No presté atención a esto y me preguntaba por qué no funcionaba, perdiendo mucho tiempo en el proceso
Puede probar los puertos de escucha con esto:
netstat -an
Me encontré con este problema también. El artículo MSKB se aplica a SQL Server 2005.
Como la herramienta "Configuración de área de SQL Server" se ha eliminado en lugar de "Facetas", esto no era obvio para mí.
Lo resolví estableciendo el puerto TCPAll y habilitando la IP relevante.
Pasos
Abra el Administrador de configuración del servidor Sql (Inicio -> Programas -> Microsoft SQL Server 2008 -> Herramientas de configuración)
Expandir la configuración de red del servidor SQL -> [Su instancia del servidor]
Haga doble clic en TCP / IP
En protocolo :
Asegúrese de que Habilitado es Sí
En direcciones IP :
Desplácese hasta la parte inferior y configure el puerto TCP en IPAll, (1433 de forma predeterminada)
Encuentre la dirección IP a la que desea conectarse y establezca Habilitado y Activo en Sí
Primero, verifique que el servicio del servidor sql se esté ejecutando. Si está utilizando SQL 2005 o 2008, verifique Configuration manager (2008) o Surface are configuration tool (2005) para asegurarse de que el protocolo TCP / IP esté habilitado y que las conexiones TCP / IP estén permitidas. Con SSE (expreso) estos están desactivados por defecto, lo que causaría su problema. También en caso de que esté ejecutando varias instancias, es posible que necesite ejecutar el servicio del navegador SQL. Si este es el caso, debería poder conectar el explorador de objetos utilizando (local) como la dirección del servidor, ya que usará una conexión de memoria local / compartida.
Se ha observado el mismo error al conectarse a SQL Server 2014.
Inicié sesión en el servidor sql para asegurarme de que se haya configurado el número de puerto correcto.
Para mi caso, el número de puerto no estaba configurado para la instancia sql.
Por lo tanto, eliminé el número de Puerto de la URL de la cadena de conexión, luego pude conectarme.
Cualquiera que enfrente este problema, puede intentarlo de esta manera