web-dev-qa-db-fra.com

Échec de la connexion JDBC, erreur: échec de la connexion TCP / IP à l'hôte

Je souhaite connecter le fichier de classe Java à SQL Server 2012. Je me suis connecté avec l'authentification du serveur SQL. Mais je reçois une erreur de connectivité.

ERREUR: la connexion TCP/IP à l'hôte 127.0.0.1, le port 1433 a échoué. Erreur: "Connexion refusée: connectez-vous. Vérifiez les propriétés de la connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et acceptant les connexions TCP/IP sur le port. Assurez-vous que TCP connexions 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));
}
74
Aysha Nijhawan
  1. Ouvrez le Gestionnaire de configuration SQL Server, puis développez Configuration du réseau SQL Server 2012.
  2. Cliquez sur Protocoles pour NomInstance, puis assurez-vous que TCP/IP est activé dans le volet droit et double-cliquez sur TCP/IP.
  3. Sous l'onglet Protocole, notez la valeur de l'élément Écouter tout.
  4. Cliquez sur l'onglet Adresses IP: Si la valeur de Listen All est à yes, le numéro de port TCP/IP de cette instance de SQL Server 2012 est la valeur de l'élément TCP Dynamic Ports sous IPAll. Si la valeur de Listen All est non, le numéro de port TCP/IP de cette instance de SQL Server 2012 correspond à la valeur de l'élément TCP Dynamic Ports pour une adresse IP spécifique.
  5. Assurez-vous que le port TCP est 1433.
  6. Cliquez sur OK.

S'il y a d'autres questions, s'il vous plaît faites le moi savoir.

Merci.

177
prince

Solution facile

Vous devez démarrer-> Tous les programmes-> Microsoft SQL Server 2012-> Outil de configuration -> Cliquez sur Gestionnaire de configuration SQL Server -> Développez Configuration du réseau SQL Server-> Protocole -> Activer la case Droite TCP/IP

Double-cliquez sur TCP/IP et allez à Adresses IP. Tapez et mettez le port 1433 sous le port TCP.

enter image description here

98
Md. Naushad Alam

L'erreur est explicite:

  • Vérifiez si votre serveur SQL est réellement opérationnel
  • Vérifiez que le nom d'hôte, le nom d'utilisateur et le mot de passe du serveur SQL sont corrects
  • Vérifiez qu'aucune règle de pare-feu ne bloque TCP connexion au port 1433
  • Vérifiez que l'hôte est réellement accessible

Un bon moyen que j’utilise souvent est d’utiliser telnet, par exemple sur une commande Windows.

telnet 127.0.0.1 1433

Si vous obtenez un écran vide, cela indique que la connexion réseau a été établie avec succès et qu'il ne s'agit pas d'un problème de réseau. Si vous obtenez "Impossible d'ouvrir la connexion à l'hôte", il s'agit d'un problème de réseau.

12
gerrytan

Allez dans Démarrer-> Tous les programmes-> Microsoft SQL Server 2012-> Outil de configuration -> Cliquez sur Gestionnaire de configuration SQL Server. enter image description here

Si vous voyez que l'état du navigateur SQL Server/SQL Server est "arrêté", cliquez avec le bouton droit de la souris sur Navigateur SQL Server/SQL Server, puis cliquez sur Démarrer. Dans certains cas, l'état ci-dessus peut s'arrêter même si TCP la connexion au port 1433 est affectée.

8
Abdur Rahman

Comme le dit l'erreur, vous devez vous assurer que votre serveur SQL s'exécute et é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 rejetant la connexion sur le port 1433.

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

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