2013-07-21 6 views
1

J'essaie de mettre à jour la table de base de données qui est hébergée sur le serveur via le connecteur MYSQL JDBC en utilisant eclipse.impossible de se connecter à la base de données distante située sur le serveur

Class.forName("com.mysql.jdbc.Driver"); 
String url = "jdbc:mysql://49.**.***.115:3306/databasename"; 
String name = "user"; 
String password = "passs"; 

Mais je ne peux pas me connecter à la base de données à partir de ma machine locale. J'ai vérifié toutes les informations fournies ci-dessus sont correctes.

Pouvez-vous s'il vous plaît certains me dire que faire ensuite?

Voici l'erreur:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2479) 
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at connecttoDB.getconnection(connecttoDB.java:27) 
    at updateDB.main(updateDB.java:17) 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307) 
    ... 16 more 
+1

Copie possible - http://stackoverflow.com/questions/6865538/solving-a-communications-link-failure-with-jdbc-and-mysql –

Répondre

1

Avez-vous vérifié que vous pouvez connecter à votre serveur de base de données de la machine que vous utilisez ce code sur? Il semble qu'il y ait un problème de réseau. Une bonne idée en tant que première étape pour diagnostiquer les problèmes de connexion MySQL est de toujours essayer de connecter à partir de la ligne de commande pour éliminer les problèmes de réseau ou d'identification

mysql -uuser -p -h49.**.***.115 databasename 

où « utilisateur » est le nom d'utilisateur « databasename » est la base de données et " 49. **. ***. 115 "est l'adresse IP du serveur de base de données.

+0

J'ai essayé de me connecter à l'instance locale qui se trouve sur ma machine locale , ça marche absolument bien. mais quand j'ai essayé de me connecter au serveur, je vois ce problème. – Veeresh

+0

Une bonne prochaine étape consiste à envoyer une requête ping à l'adresse IP. Cela permettra d'établir si le problème se situe ou non dans la couche d'application, quelque part dans le réseau. Si vous ne pouvez pas exécuter une commande ping sur l'adresse IP, vous avez probablement une adresse IP incorrecte ou la machine n'est pas en cours d'exécution ou connectée à votre réseau. Si vous le pouvez, vous devez vérifier que vos informations d'identification sont correctes et que votre compte a accès à la base de données à laquelle vous tentez d'accéder. – seanmk

+0

J'ai essayé comme vous avez suggéré: mysql -uuser -p -h49. **. ***. 115 databasename Erreur: ERREUR 2003 (HY000): Impossible de se connecter au serveur MySQL sur '49 .50.252.115 '(111) – Veeresh

0

vérifier les étapes suivantes:

1- Ping l'adresse IP pour voir si vous pouvez établir une connexion, Il pourrait y avoir un pare-feu qui bloque la communication entrante/sortante.

2- Vérifiez que votre ojdbc6/ojdbc14.jar est chargé dans le même répertoire que votre application.

Questions connexes