Connexion à une firebase database externe via telnet

J’ai un programme Java qui se connecte à une firebase database MS SQL. Le programme fonctionne parfaitement lors de l’exécution d’eclipse, mais j’obtiens une erreur lorsque je l’exécute via AIX:

java.sql.SQLException: erreur réseau IOException: un hôte distant a refusé une opération de connexion.

Je peux envoyer une requête ping au serveur mais je ne peux pas me connecter au serveur via telnet. Je ne suis pas non plus en mesure de faire un telnet depuis mon bureau Windows.

J’utilise jtds pour me connecter:

Ssortingng connectionSsortingng = "jdbc:jtds:sqlserver://"+dropez_ip_address+"/"+dropez_db_name; ResultSet rs = null; Statement stmt = null; try{ Class.forName("net.sourceforge.jtds.jdbc.Driver"); Connection conn = DriverManager.getConnection(connectionSsortingng, dropez_db_username, dropez_db_password); stmt = conn.createStatement(); }catch(Exception e){} 

Voici quelques documents de jTDS concernant le problème, mais je ne suis toujours pas en mesure de résoudre le problème.

 Why do I get java.sql.SQLException: "Network error IOException: Connection refused: connect" when trying to get a connection? The "Connection refused" exception is thrown by jTDS when it is unable to connect to the server. There may be a number of reasons why this could happen: - The server name is misspelled or the port number is incorrect. - SQL Server is not configured to use TCP/IP. Either enable TCP/IP from SQL Server's Network Utility app or have jTDS connect via named pipes (see the URL format for information on how to do this). - There is a firewall blocking port 1433 on the server. To check whether TCP/IP is enabled and the port is not blocked you can use "telnet 1433". Until telnet doesn't connect, jTDS won't either. If you can't figure out why, ask your network administrator for help. 

Le protocole TCP / IP de votre firebase database SQL Server n’est probablement pas activé pour l’activer:

  1. À partir de Microsoft SQL Server 2005 -> Outils de configuration, ouvrez le «Gestionnaire de configuration Microsoft SQL Server».

  2. Développez «Configuration réseau SQL Server 2005», puis cliquez sur «Protocoles pour».

  3. Cliquez avec le bouton droit sur «TCP / IP», puis cliquez sur «Activer». L’icône du protocole changera pour indiquer que le protocole est activé.

Pour SQL Server 2008:

Configuration réseau de SQL Server 2008

Si vous ne pouvez pas utiliser telnet sur le port 1433, vous êtes bloqué par un pare-feu situé entre votre ordinateur et le serveur. Ce n’est pas un problème lié à Java.

Peut-être que lorsque vous dites “ça fonctionne parfaitement sous éclipse mais pas AIX”, vous prenez environ 2 ordinateurs différents? Si c’est le cas, celui avec éclipse n’est pas protégé par un pare-feu, celui où vous déployez votre application est bloqué.

Mais encore une fois, rien à voir avec Java. C’est une erreur de niveau 3 (couche TCP) du modèle TCP-IP.

Cordialement, Stéphane