2012-02-19 8 views
2

У меня есть приложение, которое использует java se и при кодировании я установил mysql workbench на localhost, все работает нормально. Теперь я должен распространять файлы jar, чтобы люди могли его использовать. но когда я пытаюсь получить доступ к базе данных, это говорит о ошибке соединения. В пути базы данных я заменил localhost на ip компьютера, на котором находится база данных. Может кто-то, пожалуйста, помогите мне.Приложение для Java: доступ к базе данных на другом компьютере

Большое спасибо

+0

Не могли бы вы высказать полное сообщение об ошибке ??? –

+2

вам нужно иметь возможность пинга или telnet сервера базы данных, чтобы убедиться, что вы можете подключиться, вы пытались? –

+0

Проверьте права доступа к базе данных с удаленных хостов. – Santosh

ответ

1
  1. Как вы знаете, для JDBC в целом, необходимо указать хост в строке подключения.

  2. Как вы знаете, вы обычно указываете драйвер в Class.forName() и в каталоге .jar драйвера вашего Java CLASSPATH.

  3. Возможно, вы используете соединитель MySql/J - я считаю, что все ваши потребности клиентов были развернуты вместе с вашим приложением.

  4. Вы также должны убедиться, что порт mySql (по умолчанию 3306) открыт.

  5. Пользователи «Mysql» определены и авторизованы для каждого узла. Вам также необходимо убедиться, что это правильно настроено в вашей таблице «Пользователи» mysql.

  6. Убедитесь, что ваше приложение регистрирует всю доступную информацию об исключении. Пожалуйста, разместите здесь какие-либо сообщения об ошибках.

«Надежда, что помогает

PS: Единственное отношение к„MySQL Workbench“является то, что ваше приложение случается работать, когда вы запустите его локально, используя MySQL Workbench, правильно? Если это так, вероятно, это не очень хороший тег для этого вопроса ...

+0

1. проверить 2. Class.forName ("com.mysql.jdbc.Driver"); 3. сделано 4. сделано – koool

1

Запустите запрос в БД как пользователь admin.

GRANT ALL ON db1 TO 'jeffrey'@'%'; 

Предполагая, что db1 ваша схема и jeffrey является пользователь, которого вы хотите дать доступ.

+0

, так что если у меня есть этот код в моем приложении CON = DriverManager.getConnection ( "JDBC: MySQL: // IP/DB1?" + "Пользователь = Jeffrey & пароль ="); он должен работать правильно? – koool

+1

Да. Он должен работать. – Santosh

+0

из комментариев выше Я попытался выполнить ping, и он говорит, что запрос не прошел, что было бы решением этого? – koool

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

  • Нет связанных вопросов^_^