Não é possível conectar ao SQL Server no Excel 2007


10

Estou tentando conectar-se ao Microsoft SQL Server 2008 R2 no Excel 2007. Quando ele tenta se conectar, recebo o erro:

[DBNETLIB] [ConnectionOpen (Instância inválida ()).] Conexão inválida.


Passos para reproduzir

  • Na guia Dados , no grupo Obter Dados Externos , clique em De Outras Fontes e clique em Do SQL Server :

insira a descrição da imagem aqui

  • digite o nome do computador SQL Server na caixa Nome do servidor .

  • Para inserir um nome de usuário e senha do banco de dados, clique em Usar o seguinte Nome de Usuário e Senha e digite seu nome de usuário e senha nas caixas Nome de Usuário e Senha correspondentes :

insira a descrição da imagem aqui


Informação adicional

  • Eu posso me conectar ao SQL Server no SQL Server Management Studio :
    insira a descrição da imagem aqui

  • Eu posso me conectar ao SQL Server com telnet:

    C:\Users\Ian>telnet avenger 1433
    
  • O SQL Server está escutando na porta 1433:
    insira a descrição da imagem aqui

  • O Excel se conecta e recebe o tráfego de resposta do SQL Server:
    insira a descrição da imagem aqui

  • Eu posso ping o 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
    
  • Tentar conectar-se pelo endereço IP (e não pelo nome) não tem efeito:
    insira a descrição da imagem aqui

  • O Firewall do Windows não está em execução no servidor:
    insira a descrição da imagem aqui


1
Embora tenha sido um tempo, obrigado por incluir muitos detalhes.
ta.speot.is

Respostas:


11

Eu arriscaria um palpite de que você está realmente usando uma instância nomeada e o SQL Native Client permite que você use AVENGERo nome do servidor, mas o DBNETLIB(que acredito ser o antigo SQL Client) é mais exigente.

Tem certeza de que não é AVENGER\SQLEXPRESS,1433?


Acontece que é isso. Note-se que simplesmente AVENGER\SQLEXPRESSnão funcionou; eu tive que incluir a porta (padrão).
Ian Boyd

Suposições mais perigosas, mas o computador em que o Excel está executando não pode se comunicar com o serviço Navegador SQL no servidor (ou o serviço não está sendo executado).
ta.speot.is

0

Eu tive o mesmo problema.

Um aplicativo antigo tinha registado uma versão antiga do SQLOLEDB.DLLno

C:\Windows\System32

Corrigido executando estes comandos:

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

e

del c:\WINDOWS\system32\sqloledb.dll

0

O uso do nome do servidor de dados do servidor SQL corrigiu isso para mim no Excel 2013

  1. Conecte-se ao servidor de banco de dados com o SQL Server Management Studio
  2. Clique com o botão direito do mouse no servidor no Pesquisador de Objetos.
  3. Selecione Propriedades
  4. Use o valor Nome listado na página Propriedades Gerais do servidor

0

Eu tive o mesmo problema ao conectar-me do Access 2007 ao SQL Server 2016. A solução no meu caso foi habilitar o protocolo TCP / IP (no SQL Server Configuration Manager).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.