2011-08-14 22 views
1

私は、データを読み込むためにMySQLデータベースとの接続が必要なJavaアプリケーションを作成しようとしています。Javaを使用してリモートデータベースにアクセスできないのはなぜですか?

私はいくつかのチュートリアルとサンプルを読んで、ほとんどすべてを試しましたが、データベースにアクセスできません。私はDBに接続するためにこれを使用しています現時点では

try{ 
    Class.forName("com.mysql.jdbc.Driver"); 
    con = DriverManager.getConnection("jdbc:mysql://myhost/test","databaseUser", "password"); 
} 
catch (Exception e){ 
    System.out.println(e); 
} 

スタックトレース:

com.mysql.jdbc.CommunicationsException:基礎となる例外による通信リンク障害:

**ネスト例外除外**

com.mysql.jdbc.CommunicationsException MESSAGE:通信リンク障害による根本的な例外へ:

** **

java.io.EOFException MESSAGE入れ子の例外をBEGIN:サーバーからの応答を読み取ることができません。接続が予期せず失われる前に、4バイトを読み取ると予想され、0バイトを読み取る。

STACKTRACE:

java.io.EOFException:サーバーからの応答を読み取ることができません。接続が予期せず失われる前に、4バイトを読み取ると予想され、0バイトを読み取る。 com.mysql.jdbc.MysqlIO.doHandshakeでcom.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:573) でcom.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997) (MysqlIOで 。 java:1044) com.mysql.jdbc.Connection.createNewIO(Connection.java:2775) com.mysql.jdbc.Connection(Connection.java:1555) at com.mysql.jdbc.NonRegisteringDriver.connect (NonRegisteringDriver.java:285) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) での事実関係システム.SystemView.zoekKlant(SysteemView.java :148) at sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) at sun.reflect.Native MethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で java.lang.reflect.Method.invoke(Method.java:597)で org.jdesktopで 。 application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:662)org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:698)で javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)で のjavaxで 。でjavax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) でjavax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) でswing.AbstractButton $ Handler.actionPerformed(AbstractButton.java:2318) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) (java.awt.Component.processMouseEvent(Component.java:6288) 、javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6053) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4651) at java.awt。Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher。 (Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl (EventQueue.java:2478) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643) at java.awt.EventQueue.access $ 000(EventQueue .java:84) at java.awt.EventQueue $ 1.run(EventQueue.java:602)ジャワでのjava.security.AccessControlContext $ 1.doIntersectionPrivilege(AccessControlContext.java:87) でjava.security.AccessController.doPrivileged(ネイティブメソッド) でjava.awt.EventQueueの$ 1.run(EventQueue.java:600) で.EventQueue $ 2.run(EventQueue.java:614) atat。 java.security.AccessController.doPrivileged(ネイティブメソッド) java.security.AccessControlContext $ 1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:613) at java.awt。 EventDispatchThread.pumpOneEventForFilters(EventDispa tchThread.java:269)java.awt.EventDispatchThread.pumpEventsでjava.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) でjava.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) で(EventDispatchThread。 Javaの:java.awt.EventDispatchThread.pumpEventsで169) (java.awt.EventDispatchThread.runでEventDispatchThread.java:161) (EventDispatchThread.java:122)

** END入れ子の例外**

サーバに送信された最後のパケットは16 ms前です。

さらに多く...

しかし、私はそれにアクセスできません。

ここでは何ができますか?

+1

スタックトレースを表示してください(例外)! – home

+0

はい、例外が発生した場合は、代わりに 'e.printStackTrace()'を実行し、出力を表示してください。 –

+0

目白押し:私はパブリックフォーラムにデータベースの詳細を投稿しません... – home

答えて

2

phpmyadminはデータベース、Webアプリケーションのフロントエンドです。それはデータベースではありません。 phpmyadminでJavaのデータベースにアクセスすることはできません。データベース自体(MySQL、BTW)に直接アクセスする必要があります。ホスティングプロバイダが許可しているかどうか不明です。

+0

あなたの情報をありがとう。だから私はデータベースに格納されているデータにアクセスする方法がないと思いますか? – Jef

+0

ホスティングプロバイダにお尋ねください。それは可能かもしれないが、私はそれを疑う。ライブデータにアクセスする必要がない場合は、phpmyadminを使用してデータをエクスポートし、マシンのローカルデータベースにインポートし、Javaからこのローカルデータベースにアクセスします。 –

関連する問題