Es kann keine Verbindung zu SQL Server über Excel 2007 hergestellt werden

10

Ich versuche, von Excel 2007 aus eine Verbindung zu Microsoft SQL Server 2008 R2 herzustellen. Beim Versuch, eine Verbindung herzustellen, wird folgende Fehlermeldung angezeigt:

[DBNETLIB] [ConnectionOpen (Ungültige Instanz ()).] Ungültige Verbindung.


Schritte zum Reproduzieren

  • Klicken Sie auf der Registerkarte Daten in der Gruppe Externe Daten abrufen auf Aus anderen Quellen und dann auf Von SQL Server :

Geben Sie hier die Bildbeschreibung ein

  • Geben Sie den Namen des SQL Server - Computer in der Servername Feld.

  • Um einen Datenbankbenutzernamen und ein Kennwort einzugeben, klicken Sie auf folgenden Benutzernamen und Kennwort verwenden und geben Sie Ihren Benutzernamen und Ihr Kennwort in die entsprechenden Felder für Benutzername und Kennwort ein :

Geben Sie hier die Bildbeschreibung ein


Zusätzliche Information

  • Ich kann über SQL Server Management Studio eine Verbindung zu SQL Server herstellen :
    Geben Sie hier die Bildbeschreibung ein

  • Ich kann eine Verbindung zu SQL Server herstellen mit telnet:

    C:\Users\Ian>telnet avenger 1433
    
  • SQL Server ist auf Port 1433:
    Geben Sie hier die Bildbeschreibung ein

  • Excel stellt eine Verbindung her und empfängt Antwortdatenverkehr vom SQL Server:
    Geben Sie hier die Bildbeschreibung ein

  • Ich kann ping den Server:

    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
    
  • Der Versuch, eine Verbindung über die IP-Adresse (und nicht über den Namen) herzustellen, hat keine Auswirkungen:
    Geben Sie hier die Bildbeschreibung ein

  • Die Windows-Firewall wird auf dem Server nicht ausgeführt:
    Geben Sie hier die Bildbeschreibung ein

Ian Boyd
quelle
1
Obwohl es eine Weile her ist, danke, dass Sie so viele Details aufgenommen haben.
ta.speot.is

Antworten:

11

Ich würde eine Vermutung wagen, dass Sie tatsächlich eine benannte Instanz verwenden und der SQL Native-Client es Ihnen ermöglicht, die Verwendung AVENGERals Servername zu vermeiden, aber der DBNETLIB(von dem ich glaube, dass er der alte SQL-Client ist) ist anspruchsvoller.

Bist du sicher, dass es nicht so ist AVENGER\SQLEXPRESS,1433?

ta.speot.is
quelle
Es stellt sich heraus, dass es das ist . Es sollte beachtet werden, dass es einfach AVENGER\SQLEXPRESSnicht funktioniert hat; Ich musste den (Standard-) Port einschließen.
Ian Boyd
Gefährlichere Vermutungen, aber der Computer, auf dem Excel ausgeführt wird, kann nicht mit dem SQL Browser-Dienst auf dem Server kommunizieren (oder der Dienst wird nicht ausgeführt).
ta.speot.is
0

Ich hatte das gleiche Problem.

Eine alte Anwendung hatte eine alte Version von SQLOLEDB.DLLin registriert

C:\Windows\System32

Durch Ausführen der folgenden Befehle behoben:

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

und

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

Die Verwendung des SQL Server-Datenservernamens hat dies für mich in Excel 2013 behoben

  1. Stellen Sie mit SQL Server Management Studio eine Verbindung zum Datenbankserver her
  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Server
  3. Wählen Sie Eigenschaften
  4. Verwenden Sie den Wert Name , der auf der Seite Allgemeine Eigenschaften des Servers aufgeführt ist
Jon
quelle
0

Ich hatte das gleiche Problem beim Herstellen einer Verbindung von Access 2007 zu SQL Server 2016. In meinem Fall bestand die Lösung darin, das TCP / IP-Protokoll (in SQL Server Configuration Manager) zu aktivieren.

Razvan Socol
quelle