2012-01-29 8 views
2

私はUbuntu & Net-beansを使用しています。 NetbeansのウィザードからJavaデスクトップデータベースアプリケーションを作成します。私はそのサービス→データベースから&実行クエリを開くことができるMySQLデータベースを使用しています。私はそれを実行するとき、私は以下の例外があります。私がきれいにするとき&プロジェクトをビルドjarファイル、同じ例外を実行します。私は同じマシンのデュアルブート方法でWindowsをインストールして、同じMySQLデータベース& Javaを持っている。 Ubuntu Netbeansを使ってjarファイルを実行すると、Windowsで完全に実行され、データベースのデータが表示されます。私は他の方法もやった、私は同じデータベースを使用してWindows Netbeansで同じJavaアプリケーションを作成し、それはNetbeansとjarファイルの両方で完璧に動作します。しかし、私がUbuntuで実行しようとすると、Netbeansの両方で& jarファイルが以下の例外を表示します。DatabaseException CommunicationsException:通信リンクのエラー

[TopLinkの情報]:2012年1月29日11:16:58.898 - のServerSession(285416048) - TopLinkでは、バージョン:OracleのTopLinkのエッセンシャル - 2.0.1(b09d-FCSを構築(2007年12月6日) ) 2012年1月29日11時16分59秒AM org.jdesktop.application.Application $実験1 SEVERE: - 2.0 例外[TOPLINK-4002](オラクルのTopLink Essentialsの:Applicationクラスcustomerrecordsu.CustomerRecordsUAppは ローカル例外スタックの起動に失敗しました。 .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、&トップリンクを使用しています。私は純粋な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ビットサーバーVM(21.1-B02、混合モードを構築する) のUbuntu 11.10私のシステムです。 OSの種類64ビット MySQLのバージョン - MySQLの5.1.58-1ubuntu1 のMySQLクライアントのバージョン5.1.58ソケット :私はこのサイトにQ &もっとして15を読ん/var/run/mysqld/mysqld.sock

同じ質問があったが、今それは私を助けた。私を助けてください。

+0

IP/Portで間違っているようです。 pingして確認しましたか? – kosa

+0

PING 127.0.0.1(127.0.0.1)56(84)バイトのデータをpingするとき。 127.0.0.1から64バイト:icmp_req = 1 ttl = 64 time = 0.031ms 127.0.0.1から64バイト:icmp_req = 2 ttl = 64 time = 0.037ms 127.0.0.1から64バイト:icmp_req = 3 ttl = 64時間= 0.036 ms – catmantiger

+0

ポートについてはどうですか?それは開いていますか? – kosa

答えて

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

によって引き起こさ:java.net.SocketExceptionが:SOCKSプロキシに接続できません: を非existant SOCKSプロキシ バインドアドレス= 127.0.0.1 あなたが試すことができバインドアドレス= 0.0 .0.0またはJDBCます。mysql://127.0.0.1:3306/MyBusinessRecords」

+0

Tanaks Yongxin、両方のオプションは機能しません。私がsudoによってUbuntuにスーパーユーザーとしてログオンし、ビルドjarファイルを実行すると、動作します。また、Netbeansをルートとして開くと、正常に動作します。 JPAまたはTop-Linkの問題である必要があります。 – catmantiger

0

のJava 1.6を試してみて、私は同様の問題を持っていたバックのJava 1.6に変更された(私は1_7にアップグレードしていた)と問題が去っていきました。おそらく、1_7のために異なるトップリンクまたはOracleDriverリリースが必要です。

関連する問題