Es kann keine Verbindung zu SQL Server von Excel 2007 hergestellt werden

14760
Ian Boyd

Ich versuche von Excel 2007 aus eine Verbindung zu Microsoft SQL Server 2008 R2 herzustellen. Wenn versucht wird, eine Verbindung herzustellen, erhalte ich die Fehlermeldung:

[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 Aus SQL Server :

enter image description here

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

  • Um einen Datenbankbenutzernamen und ein Kennwort einzugeben, klicken Sie auf Den folgenden Benutzernamen und das folgende Kennwort verwenden, und geben Sie dann Ihren Benutzernamen und Ihr Kennwort in die entsprechenden Felder " Benutzername" und " Kennwort" ein :

enter image description here


Zusätzliche Information

  • Ich kann von SQL Server Management Studio aus eine Verbindung zu SQL Server herstellen :
    enter image description here

  • Ich kann mich mit SQL Server verbinden mit telnet:

    C:\Users\Ian>telnet avenger 1433 
  • SQL Server ist auf Port 1433:
    enter image description here

  • Excel stellt eine Verbindung her und empfängt Antwortdatenverkehr vom SQL Server:
    enter image description here

  • 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, über die IP-Adresse (und nicht über den Namen) eine Verbindung herzustellen, hat keine Auswirkungen:
    enter image description here

  • Die Windows-Firewall läuft nicht auf dem Server:
    enter image description here

10
Obwohl es schon eine Weile her ist, vielen Dank, dass Sie so viele Details hinzugefügt haben. ta.speot.is vor 12 Jahren 1

4 Antworten auf die Frage

10
ta.speot.is

Ich würde vermuten, dass Sie tatsächlich eine benannte Instanz verwenden und der SQL Native-Client es Ihnen erlaubt, AVENGERals Servernamen zu verwenden, aber der DBNETLIB(was meiner Meinung nach der alte SQL-Client ist) ist anspruchsvoller.

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

Es stellt sich heraus * ist * das. Es sollte beachtet werden, dass "AVENGER \ SQLEXPRESS" einfach nicht funktioniert hat; Ich hatte **, um den (Standard-) Port aufzunehmen. Ian Boyd vor 12 Jahren 0
Gefährlichere Vermutungen, aber der Computer, auf dem Excel ausgeführt wird, kann nicht mit dem SQL-Browserdienst auf dem Server kommunizieren (oder der Dienst wird nicht ausgeführt). ta.speot.is vor 12 Jahren 0
0
Arnstein Woldstad

Ich hatte das gleiche Problem.

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

C:\Windows\System32 

Wird durch Ausführen dieser Befehle behoben:

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

und

del c:\WINDOWS\system32\sqloledb.dll 
0
Jon

Durch die Verwendung des SQL Server-Datenservernamens wurde 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 aus
  4. Verwenden Sie den Wert Name, der auf der Seite Allgemeine Eigenschaften des Servers aufgeführt ist
0
Razvan Socol

Das gleiche Problem hatte ich bei der Verbindung von Access 2007 zu SQL Server 2016. Die Lösung in meinem Fall bestand darin, das TCP / IP-Protokoll (in SQL Server Configuration Manager) zu aktivieren.