2012-01-29 3 views
2

Я использую Ubuntu & Net-beans. Я делаю приложение базы данных java для настольных компьютеров из мастера Netbeans. Я использую базу данных MySQL, которую я могу открыть & выполнить запрос из своих служб → Базы данных. Когда я запускаю его, я получил Exception ниже. Когда я чищу & Создайте файл проекта jar проекта, то же Исключение. Я установил Windows в ту же самую машину с двойной загрузкой, а также имею ту же базу данных MySQL & Java. Когда я запускаю файл jar, который я делаю с помощью Ubuntu Netbeans, он отлично работает в Windows и показывает данные базы данных. Я сделал другой путь, я делаю одно и то же приложение Java в Windows Netbeans, используя одну и ту же базу данных, и он отлично работает как с Netbeans, так и с jar-файлом. Но когда я пытаюсь запустить его в Ubuntu, оба в файле NetBeans & показывают приведенное ниже исключение.DatabaseException CommunicationsException: Ошибка связи связи

[TopLink Info]: 2012.01.29 11: 16: 58,898 - ServerSession (285416048) - TopLink, версия: Oracle TopLink Основы - 2.0.1 (Build b09d-FCS (12/06/2007)) 29 января 2012 11:16:59 AM org.jdesktop.application.Application $ 1 прогон СИЛЬНЫЙ: класс Application customerrecordsu.CustomerRecordsUApp не удалось запустить локального стека исключений: Исключение [TOPLINK-4002] (Oracle TOPLINK Основы - 2.0 .1 (Build 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; 
     } 
    } 
} 

Это моя система

ява версия "1.7.0_01" Java HotSpot (TM) 64-разрядного сервера VM (сборка 21.1-B02, смешанный режим) Ubuntu 11.10. Тип ОС 64 бит MySQL MySQL Version-5.1.58-1ubuntu1 MySQL Client Version 5.1.58 Цоколь: /var/run/mysqld/mysqld.sock

Я прочитал Q & Более тогда 15 на этом сайте с тем же вопросом, но теперь мне помог. Пожалуйста, помогите мне.

+0

Кажется, что неправильно с IP/Port. Вы пинговали и проверяли? – kosa

+0

Когда я пинг PING 127.0.0.1 (127.0.0.1) 56 (84) байта данных. 64 байта из 127.0.0.1: icmp_req = 1 ttl = 64 time = 0.031 ms 64 байта из 127.0.0.1: icmp_req = 2 ttl = 64 time = 0.037 ms 64 байта из 127.0.0.1: icmp_req = 3 ttl = 64 время = 0.036 мс – catmantiger

+0

как насчет порта? открыто? – kosa

ответ

0
String url = "jdbc:mysql://localhost:3306/MyBusinessRecords"; 

Вызванный: java.net.SocketException: Не удается подключиться к SOCKS прокси: несуществующий SOCKS прокси привязывать-адрес = 127.0.0.1 Вы можете попытаться связать-адрес = 0,0 .0.0 или JDBC: MySQL: //127.0.0.1:. 3306/MyBusinessRecords»

+0

Tanaks Yongxin, Оба варианта не работают. Когда я регистрирую как супер пользователя в Ubuntu sudo и запускаю файл сборки, он работает. Также, когда я открываю Netbeans как root, он отлично работает. Должна быть проблема с JPA или Top-Link. – catmantiger

0

Попробуйте Java 1.6 у меня была аналогичная проблема и изменено на Java 1.6 (я был повышен до 1_7) и проблема ушла Вероятно, нужен другой релиз toplink или OracleDriver для 1_7.

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