簡體   English   中英

使用JDBC連接到mysql遠程數據庫?

[英]Connect to mysql remote database using JDBC?

我是一個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.
  1. 這可能是防火牆問題或配置問題。 但我認為這根本不是編碼問題 - 您需要開始對連接進行故障排除。

  2. 通過嘗試使用第三方客戶端應用程序連接到mysql進行故障排除。 這將指示是否配置為外部訪問。 雖然它不能確保從外部看到JDBC,但它確實排除了一些潛在的防火牆問題。

  3. 請按照本指南幫助您搞亂配置

遠程MYSQL數據庫訪問

如果您仍然卡住,可能是編碼問題,請查看此頁面:

如何用java連接遠程mysql數據庫?

PS我假設你使用unix作為操作系統。

我猜314159265可以被某個地址替換....比如jdbc:mysql:// localhost:3306 /或jdbc:mysql://127.0.0.1:3306 /

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM