2013-07-21 2 views
1

Я пытаюсь обновить таблицу базы данных, размещенную на сервере через соединитель JDBC MYSQL с использованием eclipse.не удается подключиться к удаленной базе данных, расположенной на сервере

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

Но я не могу подключиться к базе данных с помощью локальной машины. Я проверил всю информацию, приведенную выше, правильно.

Может ли кто-нибудь рассказать мне, что мне делать дальше?

Здесь ошибка:

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

Возможный дубликат - http://stackoverflow.com/questions/6865538/solving-a-communications-link-failure-with-jdbc-and-mysql –

ответ

1

Вы убедились, что вы можете подключиться к серверу базы данных из машины вы работаете этот код на? Похоже, есть сетевая проблема. Хорошая идея в качестве первого шага к диагностике проблем подключения MySQL является всегда пытается подключиться из командной строки, чтобы исключить сетевые или учетные данные проблемы

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

где «пользователь» это имя пользователя «имя_базы_данный» является базой данных и " 49. **. ***. 115 "- это ip сервера базы данных.

+0

Я попытался подключиться к локальному экземпляру, который находится на моей локальной машине , он работает абсолютно нормально. но когда я попытался подключиться к серверу, я вижу эту проблему. – Veeresh

+0

Хорошим следующим шагом является ping ip-адрес. Это определит, находится ли проблема на уровне приложения или ниже, где-то в сети. Если вы не можете выполнить ping ip, то вы, вероятно, ошибаетесь, или компьютер не работает или не подключен к вашей сети. Если вы можете, то вам нужно проверить правильность ваших учетных данных и доступ к вашей учетной записи для базы данных, к которой вы пытаетесь получить доступ. – seanmk

+0

Я попытался, как вы сказали: mysql -uuser -p -h49. **. ***. 115 databasename Ошибка: ERROR 2003 (HY000): Не удается подключиться к серверу MySQL на '49 .50.252.115 '(111) – Veeresh

0

проверить следующие шаги:

1- Пинг IP-адрес, чтобы увидеть, если вы можете установить соединение, Там может быть брандмауэр, который блокирует входящие/исходящие связи.

2- Убедитесь, что ваш ojdbc6/ojdbc14.jar загружен в той же папке приложения.

Смежные вопросы