PRB: Error de conexión ODBC: SQLState: '08001' DBMSSOCN

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Síntomas

El siguiente mensaje de error se devuelve desde el Administrador de orígenes de datos ODBC o una aplicación de ODBC al intentar realizar una conexión a SQL Server:
Error de conexión:
SQLState: '08001'
Error de SQL Server: 11
[Microsoft] [ODBC SQL Server Driver] [DBMSSOCN] Error general de red. Consulte la documentación.
Error de conexión:
SQLState: '01000'
Error de SQL Server: 10061
[Microsoft] [ODBC SQL Server Driver] [DBMSSOCN] ConnectionOpen(connect())
Error de conexión:
SQLState: 08001
Error de SQL Server: 11
[Microsoft] [ODBC SQL Server Driver] [TCP/IP Sockets] Error general de red. Consulte la documentación de la red.
Error de conexión:
SQLState: 01000
Error de SQL Server: 10061
[Microsoft] [ODBC SQL Server Driver] [TCP/IP Sockets] ConnectionOpen (connect())

Causa

La razón más común que este intento de conexión es que este origen de datos DSN u ODBC, intentado realizar una conexión mediante TCP/IP sockets de biblioteca de red, que es Dbmssocn.dll. Porque el SQL Server no escucha las conexiones entrantes de los clientes de sockets TCP/IP, se produce un error en la conexión. Desde ISQL/w, se devolvería el segundo mensaje de error indicado anteriormente. El Error del sistema operativo es 10061, y la llamada de función que no era ConnectionOpen(connect()).

Solución alternativa

De manera predeterminada, SQL Server escucha las conexiones entrantes realizadas por clientes de canalizaciones con nombre. Canalizaciones con nombre es el mecanismo IPC predeterminado para los clientes se conecten a un servidor de SQL Server versión 4.2, 6.0 y 6.5. La DLL de canalizaciones con nombre es Dbnmpntw.dll y que debe estar ubicado en el directorio Windows\System o Winnt\System32. La biblioteca de red de sockets TCP/IP DLL es Dbmssocn.dll y también debe estar en el directorio Windows\System o Winnt\System32. La resolución más común para este problema consiste en configurar el equipo cliente para conectarse mediante canalizaciones con nombre.

Configuración de las canalizaciones con nombres

Si se instalaron los controladores ODBC de Microsoft Data Access Components (MDAC) en el equipo, puede realizar este cambio en el segundo paso del Asistente Crear nuevo origen de datos.

NOTA: puede descargar controladores MDAC desde:

Para configurar al cliente, inicie al Asistente Crear nuevo origen de datos, haga clic en el botón Configuración de cliente y realice los pasos siguientes, según la versión del controlador ODBC de SQL Server que está utilizando:

Para el controlador ODBC de SQL Server versión 3.50
  1. Haga clic en la ficha Biblioteca de red y utilice la cuadro de lista desplegable para establecer la red predeterminada (biblioteca de red) en canalizaciones con nombre.
  2. En la ficha Opciones avanzadas , quite las entradas avanzadas que hacen referencia el servidor que se está conectando.
  3. Haga clic en Listo.
Para el controlador ODBC de SQL Server versión 3.70
  1. En la sección bibliotecas de red del cuadro de diálogo Modificar configuración de biblioteca de red, seleccione canalizaciones con nombre.
  2. Haga clic en Aceptar.
Si no tiene instalados los controladores ODBC de MDAC, puede utilizar la herramienta Utilidad de configuración de cliente de SQL Server para establecer la biblioteca de red predeterminada a canalizaciones con nombre. Puede instalar las utilidades de cliente desde el CD de SQL Server desde el directorio i386.

Configurar TCP/IP Sockets

Configuración del servidor:

Para que un cliente se conecte con el SQL Server a través de sockets TCP/IP, el servidor debe escuchar en la biblioteca de sockets del servidor. Para agregar TCP/IP sockets admiten ejecutar programa de instalación de SQL.
  1. Pulsa continuar.
  2. Vuelva a presionar continuar .
  3. Seleccione Cambiar soporte de red
  4. Seleccione TCP/IP Sockets
  5. Pulse continuar para aceptar el puerto de socket predeterminado canalización con nombre y TCP/IP 1433.
  6. Detenga y reinicie el servicio MSSQLServer.
En orden para confirmar que el SQL Server escucha las conexiones entrantes de sockets, la siguiente línea debería en el registro de errores de SQL Server actual encontrarse en \mssql\log.
   ods      Using 'SSMSSO60.DLL' version '6.5.0.0' to listen on '1433'.

Configuración de cliente:

Para configurar al cliente, inicie al Asistente Crear nuevo origen de datos, haga clic en Configuración del clientey realice los pasos siguientes, según la versión del controlador ODBC de SQL Server que está utilizando:

Para el controlador ODBC de SQL Server versión 3.50:
  1. Haga clic en la ficha Biblioteca de red y utilice el desplegable cuadro de lista para establecer la red predeterminada (biblioteca de red) a los Sockets TCP/IP.
- o -
  1. Deje el valor predeterminado en la biblioteca de red establecida en canalizaciones con nombre y en el
    Advanced ficha, agregue una nueva entrada donde:
       Server := SQL Server Name
    Network:= TCP/IP Sockets
    Connection String: = IP Address,1433
    (There are no spaces between the IP Address, the comma, and the port 1433)

  2. Haga clic en Agregar o modificar.
  3. Haga clic en Listo.
Para el controlador ODBC de SQL Server versión 3.70:
  1. En la sección bibliotecas de red del cuadro de diálogo Modificar configuración de biblioteca de red, seleccione TCP/IP.
  2. Escriba el nombre de la de SQL Server en el cuadro de texto de alias de servidor
  3. Cambie el nombre del equipo a la dirección IP real de la de SQL Server.
  4. Escriba 1433 en el cuadro de texto número de puerto
  5. Haga clic en Aceptar.
Propiedades

Id. de artículo: 195566 - Última revisión: 01/08/2017 - Revisión: 1

Comentarios