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:

Download Code!

  1.  
  2. try {
  3.     Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );
  4.     con = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=test;user=test;password=test;");
  5. } catch (Exception e){
  6.     e.printStackTrace();
  7. }
  8.  

Lösung

Als erstes habe ich mit telnet geprüft, ob ich eine Verbindung zum Port 1433 besteht.

Download Code!

  1.  
  2. telnet localhost 1433
  3.  

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:

  1. SQL Server Configuration Manager aufrufen.
  2. SQL Server 2005-Netzwerkkonfiguration auswählen.
  3. Protokolle für SQLEXPRESS auswählen.
  4. Rechte Maustaste auf TCP/IP -> Aktivieren
  5. Rechte Maustaste auf TCP/IP -> Eigenschaften
  6. Auf den Reiter IP-Adressen navigieren.
  7. Im Feld TCP-Port / IPAll Port 1433 eintragen (Bild)
SQL 2005 Konfiguration
Als TCP-Port 1433 eintragen. Das ist der Standardport für SQL-Server.
Bewertung: 4.60 von 5, 5 Stimme(n) 12027 Klicks
Probleme und Lösungen
Von Mr.Foo in Probleme und Lösungen am 18.12.06@15:47 Uhr

Trackbacks
Trackback für spezifische URI dieses Eintrags

Keine Trackbacks

28 Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)

Michael Raps - #1 - 12.06.2007 17:19 - (Antwort)

Vielen Dank,
ich war bereits am verzweifeln...

Mr. Foo - #1.1 - 12.06.2007 20:15 - (Antwort)

Kein Problem ;-)

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

gerry - #3 - 12.09.2007 21:49 - (Antwort)

Herzlichen Dank, hast mir den Abend gerettet ;-)

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?

Warrantier - #8.1.1 - 05.09.2008 08:16 - (Antwort)

Hi.
ALso ich habe Windows XP Prof. SP3.
Versucht haben wir schon ziemlich viel.
Wir haben auch ein Programm im Eclipse importiert(nennt sich Quantum). Damit können wir auf die Datenbank zugreifen-> geht ohne Probleme!

um eine Verindung aufzubauen nehmen wir diesen Code:

public boolean connect() {
this.disconnect();
try {
if (this.user != null && this.password != null) {
this.connection = DriverManager.getConnection("jdbc:sqlserver://" + this.host + ":" + this.port + ";databaseName=" + this.database + ";user=" + this.user + ";password=" + this.password);
} else {
this.connection = DriverManager.getConnection("jdbc:sqlserver://" + this.host + ":" + this.port + ";databaseName=" + this.database);
}
} catch (SQLException e) {
System.out.println(e);
return false;


Bei einem Rechner hat es damit ja auch wunderbar geklappt.

Wir haben schon mehrere .dll-Dateien in System32 geschoben ohne Erfolg!

Die Windowsdienste haben wir auch verglichen jedoch lag es da anscheinend auch nicht dran.

Wir haben halt die Vermutung, dass irgendwas an funktionierenden Rechner im Windows anders ist.

Am Eclipse, am Code und an der Java-Version kann es nicht liegen, da wir uns alles vom funktionierenden Rechner kopiert haben.

Unsere Schlussfolgerung-> Es muss am Windows liegen; verstärkt wird dies, da es mit einem Mac direkt funktioniret hat!

Danke für die Antwort!

Ben - #9 - 18.11.2008 10:47 - (Antwort)

Vielen Dank, der Tipp hat uns sehr geholfen!

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.

Tom71 - #12 - 13.05.2009 13:54 - (Antwort)

Auch ich war am verzweifeln....Vielen Dank!!!

Anonym - #13 - 03.06.2009 12:12 - (Antwort)

Vielen Dank du hast mir viel Zeit gespart!

brix - #14 - 15.09.2009 13:07 - (Antwort)

So einfach kann es sein - danke für's Teilen deiner Erfahrung, hat mir weitergeholfen!

he - #15 - 26.10.2009 10:00 - (Antwort)

Danke! du hast mein tagr gerette

Mr. Foo - #15.1 - 26.10.2009 14:42 - (Antwort)

Kein Problem :-)

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

Jens Stahl - #18 - 11.06.2011 09:46 - (Antwort)

auch von mir vielen Dank! Hab ewig nach der Einstellung gesucht, die Doku von Microsoft die man so beim Googlen findet, ist jawohl ein ein Witz!

Marcus - #19 - 07.02.2012 11:55 - (Antwort)

Danke!! Nach Stundenlanger Suche habe ich nun hierdurch den Fehler gefunden. Dass das auch nicht im Standard so konfiguriert ist... unerhört! ;-)

Viele Grüße
Marcus

Oliver Riske - #20 - 15.05.2012 20:38 - (Antwort)

Super Danke!


Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden
 
 

Mr. Foo

Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden

  • Homepage

Suche

Kategorien

  • Android (2)
  • C-Sharp (4)
  • Datenbank (29)
  • Delphi (2)
  • Entwicklung (36)
  • Flash (5)
  • Games (10)
  • Gutscheine (4)
  • Hardware (14)
  • HTML CSS (15)
  • Internet (88)
  • Java (32)
  • Javascript (24)
  • Linkdump (9)
  • Linux (101)
  • Low-Level (10)
  • Lua (8)
  • Musik (9)
  • Netzwerk (25)
  • New World Order (109)
  • Perl (3)
  • PHP (129)
  • Magento (5)
  • Symfony (3)
  • Zend Framework (7)
  • Probleme und Lösungen (26)
  • Python (22)
  • Ressourcen (23)
  • Sicherheit (91)
  • Software (60)
  • Sonstiges (47)
  • Own Stuff (48)
  • Spass (45)
  • Technik / Wissenschaft (4)
  • Tips (15)
  • Weisheiten (17)
  • Windows (23)
  • Wort des Tages (15)


Alle Kategorien

Archive

  • Mai 2012
  • April 2012
  • März 2012
  • Das Neueste ...
  • Älteres ...

Abonnieren lohnt sich!

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Kommentare

Tagcloud

Datenbank Entwicklung Internet Java Javascript Linux Lösung Netzwerk News New World Order PHP Problem Probleme und Lösungen Sicherheit Software Sonstiges Spass Tipp Update Windows

Beliebte Einträge

  • Magento ist scheisse (197)
  • Plugin-container.exe deaktivieren (107)
  • BWin Betrug und Abzocke bei Minigames? (64)
  • C compiler cannot create executables unter Debian (53)
  • Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert) (43)
  • Sicheres Kontaktformular mit PHP - Spam verhindern (37)
  • UML-Diagramme aus Java-Klassen generieren – Java2UML (28)
  • Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden (28)
  • Option Bug im Internet Explorer bei Nutzung von innerHTML und Javascript (24)
  • Zend Studio - Javaw.exe lastet die CPU aus (24)

Kommentare

Oliver Riske zu Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden
Di, 15.05.2012 20:38
Super Danke!
anon zu BWin Betrug und Abzocke bei Minigames?
Sa, 05.05.2012 18:43
ihr scheiss betrüger
Jürgen zu Unable to elevate error:1814 VLC Problem
Mi, 02.05.2012 16:54
So einfach ist es bei mir jedenfal [...]
Jonny zu BWin Betrug und Abzocke bei Minigames?
Di, 24.04.2012 13:56
Ihr seid fast alle BERTS. Kein Pla [...]
Johnny zu Plugin-container.exe deaktivieren
Sa, 21.04.2012 18:30
Cooler Trick! MFG Johnny
 

Kontakt/Informationen