0

MYSQLでホストされているサーバーに接続しようとしていますMAMP Pro。Java と を使用して同じクライアント マシンから接続しようとしていますVBAVBA正常に接続しますが、数秒後にJavaでエラーが発生します

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.

の上Java

          String userName = "user";
          String password = "pass";
          String url = "jdbc:mysql://10.0.1.1/datab";
          Class.forName ("com.mysql.jdbc.Driver").newInstance ();
          conn = DriverManager.getConnection (url, userName, password);

の上VBA

 Sub ConnectToDatabase()
        Set oConn = New ADODB.Connection
        oConn.Open "DRIVER={MySQL ODBC 3.51 Driver};" & _
            "SERVER=10.0.1.1;" & _
            "DATABASE=datab;" & _
            "USER=user;" & _
            "PASSWORD=pass;" & _
            "PORT=3306;" & _
            "Option=3"
      End Sub

telnet 10.0.1.1 3306クライアント マシンからの接続を受け入れます。私のバインドアドレスはサーバーのIPですmy.conf

I'm using mysql-connector-java 5.1.18
4

1 に答える 1

1

Java DB URL でこれを試してください。

jdbc:mysql://localhost:3306/datab

これが機能しないことを確認します。クラス パスを調べて、MySql ドライバーがクラス パス上にあることを確認します。

コードはここで例外をスローする必要があります。

Class.forName("com.mysql.jdbc.driver").newInstance();

エラーを取得するには、コードを次のように変更します。

try {
   Class.forName ("com.mysql.jdbc.Driver").newInstance ();
   conn = DriverManager.getConnection (url, userName, password);
}
catch (Exception e) {
  System.out.print(e.printStackTrace());
}

これにより、Eclipse コンソールにエラーが出力されるので、ここでカット アンド ペーストできます。

于 2013-05-07T02:11:31.107 に答える