Impossible de se connecter à SQL Server à partir d'Excel 2007

10

J'essaie de me connecter à Microsoft SQL Server 2008 R2 à partir d'Excel 2007. Lorsqu'il essaie de se connecter, j'obtiens l'erreur:

[DBNETLIB] [ConnectionOpen (instance non valide ()).] Connexion non valide.


Étapes à reproduire

  • Sous l' onglet Données , dans le groupe Obtenir les données externes , cliquez sur À partir d'autres sources , puis sur À partir de SQL Server :

entrez la description de l'image ici

  • tapez le nom de l'ordinateur SQL Server dans la zone Nom du serveur .

  • Pour entrer un nom d'utilisateur et un mot de passe de base de données, cliquez sur Utiliser le nom d'utilisateur et le mot de passe suivants , puis saisissez votre nom d'utilisateur et votre mot de passe dans les zones Nom d'utilisateur et Mot de passe correspondantes :

entrez la description de l'image ici


Information additionnelle

  • Je peux me connecter à SQL Server à partir de SQL Server Management Studio :
    entrez la description de l'image ici

  • Je peux me connecter à SQL Server avec telnet:

    C:\Users\Ian>telnet avenger 1433
    
  • SQL Server est à l' écoute sur le port 1433:
    entrez la description de l'image ici

  • Excel ne connexion, et recevoir le trafic de réponse de SQL Server:
    entrez la description de l'image ici

  • Je peux ping le serveur:

    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
    
  • Essayer de se connecter par adresse IP (plutôt que par nom) n'a aucun effet:
    entrez la description de l'image ici

  • Le pare-feu Windows ne fonctionne pas sur le serveur:
    entrez la description de l'image ici

Ian Boyd
la source
1
Bien que cela fait longtemps, merci d'avoir inclus autant de détails.
ta.speot.is

Réponses:

11

Je risquerais de deviner que vous utilisez en fait une instance nommée et que le client SQL Native vous permet de vous en passer AVENGERcomme nom de serveur, mais le DBNETLIB(qui, je crois, est l'ancien client SQL) est plus exigeant.

Êtes-vous sûr que ce n'est pas le cas AVENGER\SQLEXPRESS,1433?

ta.speot.is
la source
Il s'avère que c'est que. Il convient de noter que cela AVENGER\SQLEXPRESSn'a tout simplement pas fonctionné; j'ai inclure le port (standard).
Ian Boyd du
Des suppositions plus dangereuses, mais l'ordinateur sur lequel Excel s'exécute ne peut pas communiquer avec le service SQL Browser sur le serveur (ou le service n'est pas en cours d'exécution).
ta.speot.is
0

J'ai eu le même problème.

Une ancienne application avait enregistré une ancienne version de SQLOLEDB.DLLen

C:\Windows\System32

Corrigé en exécutant ces commandes:

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

et

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

L'utilisation du nom du serveur de données SQL Server a corrigé cela pour moi dans Excel 2013

  1. Se connecter au serveur de base de données avec SQL Server Management Studio
  2. Cliquez avec le bouton droit sur le serveur dans l' Explorateur d'objets
  3. Sélectionnez Propriétés
  4. Utilisez la valeur Nom répertoriée sur la page Propriétés générales du serveur
Jon
la source
0

J'ai eu le même problème lors de la connexion d'Access 2007 à SQL Server 2016. La solution dans mon cas était d'activer le protocole TCP / IP (dans SQL Server Configuration Manager).

Razvan Socol
la source