2016-09-25 12 views
2

私は000WebHosting.comからデータベースを実行しています。私は私のデータベースに接続しようとすると、私は次のエラーを取得する:JavaでMySQL DBに接続

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 

これは私のコードです:

String url = "jdbc:mysql://" + "mysql2.000webhost.com/"; 
try 
{ 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    Connection conn = DriverManager.getConnection(url + "DB_NAME", userName, passWord); 
} 
catch (InstantiationException | IllegalAccessException | SQLException e) 
{ 
    System.out.println(e); 
} 

、例外がconnラインに生じ続けています。

私は間違っていますか?

+0

文字通り接続していません。データベースのURLをチェックし、正しいことを確認してください。 –

+0

私はあなたの接続を待っているそのアドレスでポートが開いていること、またはdbに対してまだ許可されていることを非常に疑っています – Drew

答えて

2
  1. チェックするかどうか。
  2. 接続データベースに入力されたユーザ名とパスワードが正しいかどうか確認してください。
  3. あなたのWebサーバーのビルドパスとlibフォルダにMySQL jarファイルが含まれていることを確認してください。 Tomcat
  4. 接続するデータベースのURLが正しいことを確認してください。

はまた、この変更を行うと、

String url = "jdbc:mysql://mysql2.000webhost.com/";

はまた、私はあなたがちょうど彼らのドメインでホストされているページの中から、外部アプリケーションから接続することはできません000webhostからこの

MySQLを見つけご覧ください。

ご確認ください:How can I connect to MySQL from my computer?

+0

別のホストを探す必要があるようです。彼らは遠隔アクセスのために請求する。 – Queue

2

は、このようなあなたのDB接続をinitilize(URLに自分のDB名を入れる)にしてください:MySQLデータベースサーバが/アップ/上でホストされて

final static String HOSTNAME = "yourdomain.com"; 
final static String PORT = "3306"; 
final static String USER = "youruser"; 
final static String PWD = "yourpassword"; 
final static String DBNAME = "dbname"; 

public java.sql.Connection setupConnection() { 

    java.sql.Connection conn = null; 

    try { 
     Class.forName("com.mysql.cj.jdbc.Driver"); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 

    System.out.println("Connection is being established..."); 

    String url = "jdbc:mysql://" + HOSTNAME + ":" + PORT + "/" + DBNAME + 
       "?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"; 
    try { 
     conn = DriverManager.getConnection(url, USER, PWD); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 

    System.out.println("Database connection successfully established!"); 

    return conn; 
} 
関連する問題