私はデータベースにアクセスするJavaプログラムを作った。開発フェーズの間、私は、ローカル・データベース(MySQLでXAMPP)を使用し、私は2つの異なるオンラインデータベース(商業用および無料の1)にアクセスしようとしたとき、私は両方のケースで、次の例外を受け取っ:Javaでオンラインデータベースにアクセス
SQLException:通信リンクのエラー
サーバーに最後に送信されたパケットは、0ミリ秒前に になりました。ドライバはサーバからパケットを受信していません。
私はPHPで問題なく動作しました。 MySQLデータベースは、ユーザーが特定のパスワードを使用して接続することを可能にするだけでなく、IP範囲またはアドレスからだけではなく、
private String user = "user1";
private String pass = "pass1";
private String dbClass = "com.mysql.jdbc.Driver";
private String dbDriver = "jdbc:mysql://db4free.net:3306/DBNAME";
private Connection conn = null;
public boolean connect() {
boolean done = false;
//load driver
try {
Class.forName(dbClass).newInstance();
System.out.println("driver loaded"); // THIS IS BEING RETURNED
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException ex) {
System.err.println(ex);
}
// Connection
try {
conn = DriverManager.getConnection(dbDriver, user, pass);
System.out.println("connected"); // THIS IS NOT BEING RETURNED
done = true;
} catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
}
return done;
}
Javaコードはファイアウォールされていますか? – esej
どうすればわかりますか? – user1170330
最初にコマンドラインmysqlクライアントから接続しようとしてください。あなたがそれに到達できるかどうかを確認してください。 –