Montag, 18. Dezember 2006
Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden
Der MS-SQL Server 2005 wollte keinen Verbindungsaufbau über die Java und JDBC zulassen. Diesmal bekam ich folgenden Fehler: com.microsoft.sqlserver.jdbc.SQLServerException: Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden.
Problem mit der TCP/IP-Verbindung
Mit dem SQL Server Management Studio Express konnte ich Problemlos auf die Datenbank zugreifen. Doch unter Java funktionierte das ganze nicht. Ich bekam immer folgende Fehlermeldung:
com.microsoft.sqlserver.jdbc.SQLServerException: Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden.
java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
Den Javacode, den ich verwendete lautet:
- try {
- Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );
- con = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=test;user=test;password=test;");
- e.printStackTrace();
- }
Lösung
Als erstes habe ich mit telnet geprüft, ob ich eine Verbindung zum Port 1433 besteht.
- telnet localhost 1433
Telnet konnte keine Verbindung aufbauen konnte, deshalb war mir klar, dass der Fehler nicht bei Java liegt.
Nach dem ich mir den SQL Server Configuration Manager näher betrachtet habe, fand ich heraus, dass es am fehlen des TCP/IP Protokoll lag. Die Vorgehensweise, ist wie folgt:
- SQL Server Configuration Manager aufrufen.
- SQL Server 2005-Netzwerkkonfiguration auswählen.
- Protokolle für SQLEXPRESS auswählen.
- Rechte Maustaste auf TCP/IP -> Aktivieren
- Rechte Maustaste auf TCP/IP -> Eigenschaften
- Auf den Reiter IP-Adressen navigieren.
- Im Feld TCP-Port / IPAll Port 1433 eintragen (Bild)

Kommentare (24) | Trackbacks (0)
DaMax - #2 - 16.07.2007 16:09 - (Antwort)
super();
vielen dank!
daß man die verbindung aktivieren mus wuste ich von eswas anderen her.
aber das der port auch noch an gegeben werden muss man dat mus einen auch erstmal erzählt werden
kik - #4 - 27.02.2008 10:43 - (Antwort)
ich habe dasselbe Problem mit MS SQLServer 2000. In der SQL Server-Netzwerkkonfiguration ist das Protokoll aktiviert und bei den Eigenschaften auch Port 1433 angegeben ![]()
kann mir da jemand weiterhelfen?
IhlieDaily - #5 - 28.02.2008 09:42 - (Antwort)
Ich acuh! Selbes Problem,bzw ähnlich. Es konnte keine TCP/IP...[bla] obwohl protokoll aktiv und port korrekt. -.-
kik - #5.1 - 28.02.2008 11:42 - (Antwort)
bei uns lag es am Windows XP:
der Link funktioniert zwar nicht mehr, aber dank Google....
danach war der Port frei
14. März 2007
SQL Server 2000 startet 1433 Port nicht unter XP SP 2
JDBC kann dadurch nicht zugreifen
Ursache:
Sie verwenden eine Version von Microsoft SQL Server 2000 oder Microsoft SQL Server 2000 Desktop Engine (auch MSDE), die bei Verwendung mit dieser Windows-Version bekannte Sicherheitsrisiken enthält. Der TCP/IP-Netzwerkport und der UDP- Netzwerkport von Microsoft SQL Server 2000, MSDE oder von beiden wurde deaktiviert, um das Sicherheitsrisiko möglicher Virusattacken auf dem Computer zu reduzieren.
Lösung:
Installieren Sie einen Patch oder das letzte Servicepack für Microsoft SQL Server 2000 oder MSDE von http://www.microsoft.com/sql/downloads/default.asp
Mr. Foo - #6 - 28.02.2008 11:42 - (Antwort)
@kik + @IhlieDaily
Wenn ihr euch also Versucht mit dem MS-SQL Server zu verbinden, bekommt ihr genau die gleiche Fehlermeldung, wie vor der Umstellung?
@IhlieDaily
Hast du auch den SQL-Server 2000?
Karl Eilebrecht - #7 - 31.08.2008 21:00 - (Antwort)
Danke! Ich war gerade mit Microsoft SQL-Server 2008 am Durchdrehen (4 Stunden Wahnsinn). Ohne den Tipp hätte ich glatt aufgegeben.
Warrantier - #8 - 04.09.2008 12:29 - (Antwort)
Kann es sein dass das Problem im Windows liegt? Wir haben das gleiche Prob. und bei "einem" Windows Rechner geht es bei einem Mac auch; allerdings bei 3 weiteren Windows Rechnern funktioniert der Zugriff über Java nicht!
Am Java und an der Entwicklungsumgebung, sowie bei der MS SQL 2005 DB kann es nicht liegen.
Brauchen dringend Hilfe!!!
Mr. Foo - #8.1 - 04.09.2008 12:46 - (Antwort)
Was hast du bisher gemacht?
Welche Windowsversion hast du?
Rene - #10 - 23.03.2009 22:53 - (Antwort)
Danke für den Tip.
Obwohl ich die Lösung eigentlich wusste, so gibt es leider beim SQL SErver 2008 3 Orte, wo man TCP enabled, an zweien war es richtig eingestellt, aber beim dritten habe ich natürlich den alles entscheidenden Reiter übersehen
Misses - #10.1 - 29.10.2009 10:09 - (Antwort)
Hallo Rene,
Du schreibst es gibt im SQL Server 2008 3 Stellen zum aktivieren von dem TCP/IP Kram... kannst Du mir die drei nennen?? Ich verzweifel auch gerade hier...
Danke!
Mr. Foo - #10.1.1 - 29.10.2009 12:06 - (Antwort)
Denke er meint diesen Punkt:
Im Feld TCP-Port / IPAll Port 1433 eintragen (Bild)
Mr. Verzweifelt - #11 - 14.04.2009 15:26 - (Antwort)
Vielen, vielen, vielen Dank für den Tipp
Ich habe schon die ganze Nacht versucht das Problem zu lösen und dabei den Server schon etwa 3 Mal neu aufgesetzt.
brix - #14 - 15.09.2009 13:07 - (Antwort)
So einfach kann es sein - danke für's Teilen deiner Erfahrung, hat mir weitergeholfen!
Misses - #16 - 29.10.2009 15:37 - (Antwort)
Hallo,
also ich hab alles eingestellt. TCP/IP, IPAll, der Port 1433 ist auch eingetragen. Trotzdem läuft es nicht. Bekomme immer die gleiche Fehlermeldung.
Bei mir stehen allerdings 5 IP Adressen drin. Warum auch immer???? müssen die alle auf Aktiviert gesetzt werden? Woher weiß ich welche die richtige ist?
ich verzweifel
Mr. Foo - #16.1 - 29.10.2009 15:51 - (Antwort)
Fünf? Hmm, keine Ahnung warum...
... aber rausfinden, welche IP die Richtige ist, kannst du mit dem Telnet Kommando.
Wie das geht, steht oben beschrieben.
Andreas - #17 - 14.03.2010 11:20 - (Antwort)
Super, vielen Dank,
hat sehr geholfen! ![]()
Viele Grüße
Andreas
