2014-09-18 1 views
0

, исходящий с php-фона, я полностью потерял в архитектуре JAVA. Это мое первое настольное приложение за 10 лет, и мое первое приложение для Java. Так что прошу прощения.java desktop application, netbeans mysql jdbc

Я использую netbeans 7.0.1 + JDK 1.7.0. Создайте новое приложение для настольных компьютеров, используя только одну кнопку. выполните "import java.sql. *;" в верхней части страницы «DesktopAppView.java». Я пошел в библиотеку и добавил драйвер MYSQL JDBC. Даже загрузили и добавили последнее соединение JDBC с сайта MYSQL.

перешел на панель служб, щелкнул правой кнопкой мыши по драйверам, MySQL (драйвер Connector/J) и добавил новое соединение и смог подключиться к БД.

затем в функции нажмите на кнопку в разделе «DesktopAppView.java», я добавил:

//String driver = "com.mysql.jdbc.Driver"; 
String driver = "org.gjt.mm.mysql.Driver"; 
String url = "jdbc:mysql://localhost/test"; 
String username = "root"; 
String password = ""; 

Class.forName(driver); // load MySQL driver 
//Class.forName(driver).newInstance(); // load MySQL driver 
Connection conn = DriverManager.getConnection(url, username, password); 
System.out.println("done"); 

Когда дело доходит до части «GetConnection», приложение просто зависает. «? ConnectTimeout = 3000» Когда я добавил в строку URL-адрес, это timedout приложение повышения исключение:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure... 
...... 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 
Caused by: java.net.SocketTimeoutException: Connect timed out 
    at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:125) 

Однако при создании приложения Java в NetBeans (не настольное приложение) .. тот же код подключения работает отлично???

Я вытягиваю свои волосы за последние два дня. Я не уверен, что материал добавлен в настольное приложение, которое может противоречить соединению с БД.

Я уже попробовал все размещены здесь Soheil ... Solving a "communications link failure" with JDBC and MySQL Ничто не работает

PLs HELP !!!

+0

Вы указали порт MySQL в URL-адресе подключения? – Sridhar

+0

@Sridhar Пока MySQL работает на порту по умолчанию, нет необходимости указывать порт в URL-адресе. –

+0

Запустите NetBeans снова и не заходите в Службы. Вряд ли, но, возможно, два доступа (из Сервисов и вашего приложения) столкнулись. –

ответ

0

В результате я создал приложение java в netbeans (а не в настольном приложении) и сам сделал код рамки/панели/кнопки.

Код JDBC выше работает отлично. Все еще не могу понять, почему создание настольного приложения просто не хочет подключаться к БД ???

0

Ваша проблема одна из следующих:

  1. Ваш мой-SQL Server не прослушивает порт 3306, или, возможно, служба не запускается правильно.

Вы можете узнать, что с помощью GUI менеджера mysql. Если вы можете подключиться к своему db, служба начнется правильно.

  1. У вас есть антивирус или брандмауэр, который блокирует запросы связи к порту 3306 вашей системы, поскольку он обнаруживает их как атаки.

Удачи.