2013-09-09 2 views
3

Я создал базу данных mySQL на 000webhost, и я хотел подключить ее к моей программе Java, но каким-то образом драйвер не получает сокеты. Вот мой код:Java mySQL с 000webhost

Class.forName("com.mysql.jdbc.Driver"); 
Connection conn = DriverManager.getConnection("jdbc:mysql://mysql2.000webhost.com/a4931569_users/Users", username, pass); 

где a4931569_users - это база данных, пользователи - это таблица. Пожалуйста, помогите мне.

+1

Вы уверены, что mysql2.000webhost.com сервер прослушивает требуемый порт. А также, настроен ли сервер для приема соединений из внешнего мира?> –

+1

вам не нужно указывать имя таблицы. просто укажите базу данных. –

+0

Какая ошибка вы получаете? –

ответ

8

MySQL из 000webhost не позволяет подключать из внешних приложений, только внутри страниц, размещенных в их домене.

Пожалуйста, проверьте: How can I connect to MySQL from my computer?

+0

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

+0

Знаете ли вы какой-либо другой бесплатный хост базы данных mySQL? –

+0

Прости, не знаю. Мне очень нравится 000webhost, несмотря на эту небольшую озабоченность. – Math

0

Как javadoc для метода DriverManager#getConnection() говорит:

Попытки установить соединение с данным URL базы данных.

Следовательно, удалите Users имя таблицы с указанным URL-адресом, и оно должно работать.

0

Удалите имя таблицы из строки подключения.

просто написать

Connection conn = DriverManager.getConnection("jdbc:mysql://mysql2.000webhost.com/a4931569_users", username, pass); 

JDBC URL-Формат

Формат JDBC-URL для MySQL Connector/J выглядит следующим образом, с элементами в квадратных скобках ([,]) является необязательным:

jdbc:mysql://[host][,failoverhost...][:port]/[database] » 
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]... 

Если имя хоста не указано, по умолчанию оно равно 127.0.0.1. Если порт не указан, по умолчанию он равен 3306, номер порта по умолчанию для серверов MySQL.

jdbc:mysql://[host:port],[host:port].../[database] » 
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]... 

Вот пример подключения URL:

jdbc:mysql://localhost:3306/sakila?profileSQL=true 

Пожалуйста, обратитесь http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html

Редактировать

В случае

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

вам нужно идти с ответом математики.

MySQL от 000webhost не позволяет вам подключаться из внешних приложений, только изнутри страниц, размещенных в их домене.

Пожалуйста, проверьте: How can I connect to MySQL from my computer?

+0

Он по-прежнему не работает. В нем написано: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Ошибка связи связи –

1

Пожалуйста, убедитесь, что mysql2.000webhost.com URL позволяет удаленное соединение для указанного пользователя или нет. Если он позволяет , то может возникнуть проблема с файлом jar базы данных либо отсутствующим, либо несовместимым с версией базы данных.