No se puede conectar a SQL Server desde Excel 2007

10

Estoy tratando de conectarme a Microsoft SQL Server 2008 R2 desde Excel 2007. Cuando intenta conectarse me sale el error:

[DBNETLIB] [ConnectionOpen (Instancia no válida ()).] Conexión no válida.


Pasos para reproducir

  • En la pestaña Datos , en el grupo Obtener datos externos , haga clic en Otras fuentes y luego en Desde SQL Server :

ingrese la descripción de la imagen aquí

  • escriba el nombre de la computadora SQL Server en el cuadro Nombre del servidor .

  • Para ingresar un nombre de usuario y contraseña de la base de datos, haga clic en Usar el siguiente Nombre de usuario y Contraseña , y luego escriba su nombre de usuario y contraseña en los cuadros correspondientes de Nombre de usuario y Contraseña :

ingrese la descripción de la imagen aquí


Información Adicional

  • Me puedo conectar a SQL Server desde SQL Server Management Studio :
    ingrese la descripción de la imagen aquí

  • Me puedo conectar a SQL Server con telnet:

    C:\Users\Ian>telnet avenger 1433
    
  • SQL Server está escuchando en el puerto 1433:
    ingrese la descripción de la imagen aquí

  • Excel hace de conexión, y recibir tráfico de respuesta desde el servidor SQL Server:
    ingrese la descripción de la imagen aquí

  • Me puede ping el servidor:

    C:\Users\Ian>ping avenger
    
    Pinging avenger.newland.com [192.168.1.244] with 32 bytes of data:
    Reply from 192.168.1.244: bytes=32 time=1ms TTL=128
    Reply from 192.168.1.244: bytes=32 time<1ms TTL=128
    Reply from 192.168.1.244: bytes=32 time<1ms TTL=128
    Reply from 192.168.1.244: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.1.244:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    
  • Intentar conectarse por dirección IP (en lugar de por nombre) no tiene ningún efecto:
    ingrese la descripción de la imagen aquí

  • Firewall de Windows no se ejecuta en el servidor:
    ingrese la descripción de la imagen aquí

Ian Boyd
fuente
1
Aunque ha pasado un tiempo, gracias por incluir tantos detalles.
ta.speot.is

Respuestas:

11

Me arriesgaría a suponer que realmente está utilizando una instancia con nombre y que el cliente SQL Native le permite salirse con la suya AVENGERcomo el nombre del servidor, pero el DBNETLIB(que creo que es el antiguo cliente SQL) es más exigente.

¿Estás seguro de que no lo es AVENGER\SQLEXPRESS,1433?

ta.speot.is
fuente
Resulta que es eso. Cabe señalar que simplemente AVENGER\SQLEXPRESSno funcionó; i tenía para incluir el puerto (estándar).
Ian Boyd el
Conjeturas más peligrosas, pero la computadora en la que se está ejecutando Excel no puede comunicarse con el servicio del navegador SQL en el servidor (o el servicio no se está ejecutando).
ta.speot.is
0

Yo tuve el mismo problema.

Una aplicación anterior había registrado una versión anterior de SQLOLEDB.DLLen

C:\Windows\System32

Solucionado ejecutando estos comandos:

regsvr32 "c:\Program Files\Common Files\System\Ole DB\sqloledb.dll"  

y

del c:\WINDOWS\system32\sqloledb.dll
Arnstein Woldstad
fuente
0

El uso del nombre del servidor de datos del servidor SQL me solucionó esto en Excel 2013

  1. Conéctese al servidor de bases de datos con SQL Server Management Studio
  2. Haga clic derecho en el servidor en el Explorador de objetos
  3. Seleccionar propiedades
  4. Utilice el valor de Nombre que figura en la página de Propiedades generales del servidor
Jon
fuente
0

Tuve el mismo problema al conectarme desde Access 2007 a SQL Server 2016. La solución en mi caso fue habilitar el protocolo TCP / IP (en el Administrador de configuración de SQL Server).

Razvan Socol
fuente