102 votes

La connexion JDBC a échoué, erreur : La connexion TCP/IP à l'hôte a échoué

Je veux connecter un fichier de classe Java avec le serveur SQL 2012. Je me suis connecté avec l'authentification du serveur SQL, mais je reçois une erreur lors de la connexion.

Erreur :

La connexion TCP/IP avec l'hôte 127.0.0.1, port 1433 a échoué. Erreur : "Connexion refusée : connect. Vérifiez les propriétés de la connexion. Assurez-vous qu'une instance de SQL Server s'exécute sur l'hôte et accepte les accepte les connexions TCP/IP sur le port. Assurez-vous que les connexions TCP au port ne sont pas bloquées par un pare-feu".

Mon 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));
}

3voto

Juned Ahsan Points 33217

Comme le dit l'erreur, vous devez vous assurer que votre serveur sql est en cours d'exécution et qu'il écoute sur le port 1433. Si le serveur est en cours d'exécution, vous devez vérifier s'il existe une règle de pare-feu qui rejette la connexion sur le port 1433.

Voici les commandes qui peuvent être utiles pour le dépannage :

  1. Utilice netstat -a pour vérifier si le serveur sql écoute sur le port souhaité
  2. Comme gerrytan l'a mentionné dans sa réponse, vous pouvez essayer de faire le telnet sur l'hôte et le port

0voto

Mahdi Points 17

Important :
après toute modification ou nouveau paramétrage, vous devez redémarrer SQLSERVER service. exécuter services.msc en Windows

0voto

Toshihiko Points 131

Si vous utilisez une instance nommée, le port que vous utilisez est probablement le 1434, au lieu du 1433, alors vérifiez-le en utilisant telnet ou netstat mentionné ci-dessus.

0voto

Talley Ouro Points 142

Ouvrez le Pare-feu GUI, ouvrez la règle TCP 1433, allez à l'onglet scope et ajoutez votre adresse IP sous Remote IP Address et le problème est résolu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X