-1

Javaコードを使用してWAMPサーバーのMySqlデータベースに接続しようとしています。サーバーはローカルネットワーク内のマシンにあります。以下は私が使用するコードです:

public class MySQLAccess {

public static void main(String args[]) {

      String url = "jdbc:mysql://192.168.0.21:3306/";
      String dbName = "mydb";
      String driver = "com.mysql.jdbc.Driver";
      String userName = "root"; 
      String password = "";
      try {
      Class.forName(driver).newInstance();
      Connection conn = DriverManager.getConnection(url+dbName,userName,password);
      System.out.println("Connected to the database");
      conn.close();
      System.out.println("Disconnected from database");
      } catch (Exception e) {
      e.printStackTrace();
      }

そして、次の例外が発生します。

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection timed out

STACKTRACE:

java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.<init>(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)
at MySQLAccess.main(MySQLAccess.java:24)


** END NESTED EXCEPTION **



    Last packet sent to the server was 1 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
at com.mysql.jdbc.Connection.<init>(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)
at MySQLAccess.main(MySQLAccess.java:24)

この例外を引き起こすはずのこのコードで私が見ることができる明らかなものは何もありません。また、ポート番号が正しく、ホスティングマシンにファイアウォールがないことを再確認しました。

この問題の原因となる可能性のあるものと、解決策となる可能性のあるものは何ですか。どんなメルプも大歓迎です。

4

1 に答える 1

1

1.MySQLが特定のホストとポートで実行されているかどうかを確認します

2.接続を確認するために、コードが実行されているマシンからそのホストに ping を実行してみてください (ファイアウォール ??)

3. db uiツールなどをお持ちの場合は、それを使用して接続してみてください

于 2013-01-17T10:50:04.617 に答える