データベースにアクセスする Java プログラムを作成しました。開発段階では、ローカル データベース (XAMPP と MySQL) を使用しましたが、2 つの異なるオンラインデータベース (商用と無料) にアクセスしようとすると、両方のケースで次の例外が発生しました。
SQLException: 通信リンク障害
サーバーに正常に送信された最後のパケットは 0 ミリ秒前でした。ドライバーがサーバーからパケットを受信していません。
PHPでそれらにアクセスするのに問題はありませんでした。
これは私のコードです:
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;
}