1

私は Java の初心者で、JDBC を使用してリモートの mysql データベースに接続する単純なアプリケーションに取り組んでいます。ローカルでテストしましたが、問題なく動作しますが、リモート サーバーで動作させることができません。あまり役に立たないと思いますが、コードは次のとおりです。

Connection connection = null;
String dburl = "jdbc:mysql://314159265:3306/Db_Name";
String userName = "user";
String passWord = "password";

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

        connection = DriverManager.getConnection(dburl, userName, passWord);
        Statement st = connection.createStatement();                                 

        String query = "INSERT INTO Example (`TestColumn`) VALUES('hello')";
        int rsI = st.executeUpdate(query);
        System.out.println("Hi");
        }catch (Exception e) {
        System.out.println(e);
    } finally {
        if (connection != null) {
            try {
                connection.close();
                System.out.println("Database connection terminated");
            } catch (Exception e) { /* ignore close errors */ }
        }
    }

これを実行すると、次のメッセージが表示されます。

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.

ある種のサーバー構成の問題であるに違いないと確信しています。

 Notes:
 Username, password, IP, database name, etc. are just examples.
4

2 に答える 2

4
  1. これは、ファイアウォールの問題または構成の問題である可能性があります。しかし、コーディングの問題ではないと思います。接続のトラブルシューティングを開始する必要があります。

  2. サードパーティのクライアント アプリを使用して mysql に接続して、トラブルシューティングを行います。これは、外部アクセス用に構成されているかどうかを示します。JDBC が外部から見えることは保証されませんが、潜在的なファイアウォールの問題を除外します。

  3. このガイドに従って、構成を混乱させるのに役立ててください

リモート MYSQL データベース アクセス

それでも問題が解決しない場合は、コーディングの問題である可能性があるため、次のページを確認してください。

javaでリモートのmysqlデータベースに接続するには?

PS オペレーティング システムとして unix を使用していると仮定しています。

于 2012-10-30T23:27:32.110 に答える
-3

314159265 は、jdbc:mysql://localhost:3306/ または jdbc:mysql://127.0.0.1:3306/ のようなアドレスに置き換えることができると思います。

于 2014-07-22T04:54:12.507 に答える