2016-06-18 9 views
0

私のアプリケーションの1つをテストするために無料のSQLデータベース(http://www.freesqldatabase.com)を作成しましたが、データベースに接続できません。 私は既にオフラインデータベースでテストしています。 URL、ポートなどを渡す代わりに、パスを.dbに渡しました。オンラインデータベースへのMySQL接続エラー

libフォルダにコネクタドライバがあります。

Connection conn; 

Class.forName("com.mysql.jdbc.Driver"); 

String url = "jdbc:mysql://sql5.freesqldatabase.com:3306/" + dbName; 

conn = DriverManager.getConnection(url, username, password); 

conn.close(); 

しかし、私はこの例外を取得しています:

私はこれを使用していますそれは-as他の人が示唆したある

Exception in thread "main" 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. 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:983) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:339) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2252) 
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2285) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2084) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:795) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327) 
    at java.sql.DriverManager.getConnection(DriverManager.java:664) 
    at java.sql.DriverManager.getConnection(DriverManager.java:247) 
    at javaapplication2.JavaApplication2.main(JavaApplication2.java:29) 
Caused by: java.net.SocketException: Permission denied: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:589) 
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:214) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:298) 
    ... 15 more 
+0

ほとんどの場合、無料のデータベースへの外部ネットワークアクセスは許可されません。 –

+0

実際に接続するにはお金がかかる。 – Drew

+0

私はこれらの人には非常に注意しています**彼らはPHP([ここ](http://www.freesqldatabase.com/category/php/))の優先接続関数として 'MySQL_'を使っています – Martin

答えて

1

- サーバー側でファイアウォールの問題。ポート3306は開いていない可能性があります。 Webアクセス可能なDBにそのような機密情報を置くように注意してください(つまり、)。

関連する問題