web-dev-qa-db-de.com

JDBC-Verbindung fehlgeschlagen, Fehler: TCP / IP-Verbindung zum Host fehlgeschlagen

Ich möchte Java class file mit SQL Server 2012 verbinden. Ich habe mich mit SQL Server-Authentifizierung angemeldet. Ich erhalte jedoch einen Verbindungsfehler.

FEHLER: Die TCP/IP-Verbindung zum Host 127.0.0.1, Port 1433 ist fehlgeschlagen. Fehler: "Verbindung abgelehnt: Verbindung herstellen. Überprüfen Sie die Verbindungseigenschaften. Stellen Sie sicher, dass auf dem Host und eine Instanz von SQL Server ausgeführt wird Akzeptieren von TCP/IP-Verbindungen am Port. Stellen Sie sicher, dass TCP Verbindungen zum Port nicht von einer Firewall blockiert werden. ".

Mein Code ---

Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver");  //1. Register your driver
//2. get the connection object
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=aysha","sa","admin");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;databaseName=aysha","user=sa","password=admin");
 //"jdbc:sqlserver://127.0.0.1:1433; Instance=SQL2008;" +       "databaseName=MB;user=sa;password=123;";
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=aysha","sa" , "password");
//3. Prepare a statement
Statement stmt = con.createStatement();
//4. Write the query`
String sql = "Select * from employee";
//5. Execute the statement and 
ResultSet rs = stmt.executeQuery(sql);
//6. Process the result set

while (rs.next())
{
    System.out.println(rs.getInt(1));
}
74
Aysha Nijhawan
  1. Öffnen Sie den SQL Server-Konfigurations-Manager, und erweitern Sie dann die SQL Server 2012-Netzwerkkonfiguration.
  2. Klicken Sie auf Protokolle für Instanzname, und stellen Sie sicher, dass TCP/IP im rechten Fensterbereich aktiviert ist, und doppelklicken Sie auf TCP/IP.
  3. Beachten Sie auf der Registerkarte Protokoll den Wert des Listen All Elements.
  4. Klicken Sie auf die Registerkarte IP-Adressen: Wenn der Wert von Alle abhören Ja lautet, entspricht die TCP/IP-Portnummer für diese Instanz von SQL Server 2012 dem Wert des Elements TCP Dynamic Ports unter IPAll. Wenn Der Wert von Listen All ist no. Die TCP/IP-Portnummer für diese Instanz von SQL Server 2012 ist der Wert des Elements TCP Dynamic Ports für eine bestimmte IP-Adresse.
  5. Stellen Sie sicher, dass der TCP Port 1433 ist.
  6. OK klicken.

Wenn Sie weitere Fragen haben, lassen Sie es mich bitte wissen.

Vielen Dank.

177
prince

Einfache Lösung

Gehen Sie zu Start-> Alle Programme-> Microsoft SQL Server 2012-> Konfigurationstool -> Klicken Sie auf SQL Server-Konfigurations-Manager -> Erweitern Sie SQL Server-Netzwerkkonfiguration-> Protokoll -> Aktivieren Sie das rechte Feld TCP/IP

Doppelklicken Sie auf TCP/IP und gehen Sie zu IP-Adressen. Tippen Sie auf Port 1433 und legen Sie ihn unter TCP port.

enter image description here

98

Der Fehler ist selbsterklärend:

  • Überprüfen Sie, ob Ihr SQL Server tatsächlich läuft
  • Überprüfen Sie, ob der Hostname, der Benutzername und das Kennwort des SQL-Servers korrekt sind
  • Stellen Sie sicher, dass keine Firewall-Regel blockiert ist TCP Verbindung zu Port 1433
  • Überprüfen Sie, ob der Host tatsächlich erreichbar ist

Eine gute Option, die ich oft benutze, ist die Verwendung von Telnet, z. B. bei einem Windows-Eingabeaufforderungslauf:

telnet 127.0.0.1 1433

Wenn Sie einen leeren Bildschirm erhalten, wird angezeigt, dass die Netzwerkverbindung erfolgreich hergestellt wurde, und es handelt sich nicht um ein Netzwerkproblem. Wenn Sie die Meldung "Verbindung zum Host konnte nicht hergestellt werden" erhalten, liegt ein Netzwerkproblem vor

12
gerrytan

Gehen Sie zu Start-> Alle Programme-> Microsoft SQL Server 2012-> Konfigurationstool -> Klicken Sie auf SQL Server Configuration Manager. enter image description here

Wenn Sie feststellen, dass der SQL Server/SQL Server-Browser-Status "gestoppt" ist, klicken Sie mit der rechten Maustaste auf SQL Server/SQL Server-Browser, und klicken Sie auf Start. In einigen Fällen kann der obige Status abgebrochen werden, obwohl TCP Verbindung zu Port 1433 zugewiesen ist.

8
Abdur Rahman

Wie der Fehler besagt, müssen Sie sicherstellen, dass Ihr SQL-Server auf Port 1433 ausgeführt wird und lauscht. Wenn der Server ausgeführt wird, müssen Sie überprüfen, ob eine Firewall-Regel die Verbindung auf Port 1433 ablehnt.

Hier sind die Befehle, die bei der Problembehandlung hilfreich sein können:

  1. Verwenden netstat -a, um zu überprüfen, ob der SQL Server den gewünschten Port überwacht
  2. Wie Gerrytan in der Antwort erwähnt hat, können Sie versuchen, telnet auf dem Host und dem Port auszuführen
2
Juned Ahsan