Я использую Ubuntu & Net-beans. Я делаю java-приложение базы данных для настольных компьютеров из мастера Netbeans. Я использую базу данных MySQL, которую я могу открыть и выполнить запрос из ее Сервисов → Базы данных. Когда я запускаю его, я получил исключение ниже. Когда я чищу и собираю проект, запускаю jar-файл, то же исключение. Я установил Windows на той же машине с двойной загрузкой, а также имею ту же базу данных MySQL и Java. Когда я запускаю файл jar, созданный с помощью Ubuntu Netbeans, он отлично работает в Windows и показывает данные базы данных. Я также сделал другое, я делаю то же самое Java-приложение в Windows Netbeans, используя ту же базу данных, и оно отлично работает как с NetBeans, так и с JAR-файлом. Но когда я пытаюсь запустить его в Ubuntu, как в Netbeans, так и в файле jar отображается исключение ниже.
[TopLink Info]: 2012.01.29 11: 16: 58.898 - ServerSession (285416048) - TopLink, версия: Oracle TopLink Essentials - 2.0.1 (сборка b09d-fcs (12/06/2007))
29 января 2012 г. 11:16:59 org.jdesktop.application.Application $ 1 run
SEVERE: не удалось запустить приложение класса customerrecordsu.CustomerRecordsUApp
Стек локальных исключений:
Исключение [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (сборка b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.
Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов с сервера.
Код ошибки: 0
на oracle.toplink.essentials.exceptions.DatabaseException.sqlException (DatabaseException.java:305)
... lot of more
Причина: java.net.SocketException: не удается подключиться к прокси-серверу SOCKS: соединение отклонено
на java.net.SocksSocketImpl.connect (SocksSocketImpl.java:427)
... lot of more
Ниже приведен фрагмент файла my.cnf, удаляющий комментарии.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
skip-external-locking
bind-address = 127.0.0.1
ниже является частью файла persistance.xml
<property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/MyBusinessRecords"/>
<property name="toplink.jdbc.user" value="root"/>
<property name="toplink.jdbc.password" value="password"/>
Мастер Netbeans использует JPA и Top Link. Я делаю программу без мастера на чистой Java, она отлично работала в Ubuntu, как и ожидалось, и показываю данные базы данных. Эта программа ниже. Оба выше и ниже используют один и тот же Java MySQL connector.jar
public static void main(String[] args) {
Connection con = null;
Statement st = null;
ResultSet rs = null;
int id = 0;
String name = null;
try {
String url = "jdbc:mysql://localhost:3306/MyBusinessRecords";
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url, "root", "5843");
if (con != null) {
System.out.println("A database connection has been establised!");
st = con.createStatement();
rs = st.executeQuery("select * from COUNTRIES");
while(rs.next()){
id = rs.getInt(1);
name = rs.getString(2);
System.out.println("id = " + id + " Name = " + name);
}
}
} catch (Exception e) {
System.out.println("Problem" + e.toString());
} finally {
if (con != null) {
try {
rs.close();
st.close();
con.close();
} catch (Exception e) {
System.out.println(e.toString());
}
con = null;
}
}
}
Это моя система
Java-версия "1.7.0_01"
Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 21.1-b02, смешанный режим)
Ubuntu 11.10. Тип ОС 64 бит
Версия MySQL - MySQL 5.1.58-1ubuntu1
MySQL Client Версия 5.1.58
Сокет: /var/run/mysqld/mysqld.sock
Я читал вопросы и ответы более 15 на этом сайте с тем же вопросом, но теперь он мне помог. Пожалуйста, помогите мне.