【问题标题】:JDBC packet query overload with no query没有查询的 JDBC 数据包查询过载
【发布时间】:2018-09-27 04:15:47
【问题描述】:

我正在尝试连接到远程服务器上的 MySQL 数据库,但我收到一个异常,即查询对于数据包来说太大了。我什至没有发送任何查询。

com.mysql.cj.jdbc.exceptions.PacketTooBigException:用于查询的数据包太大(4 739 923 > 65 535)。您可以通过设置“max_allowed_pa​​cket”变量在服务器上更改此值。

代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Main {

static Connection connection = null;
static PreparedStatement preparedStatement = null;

public static void main(String[] argv) {

    try {
        makeJDBCConnection();
        preparedStatement.close();
        connection.close(); // connection close
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

private static void makeJDBCConnection() {

    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        log("Couldn't found JDBC driver.");
        e.printStackTrace();
        return;
    }

    try {
        // DriverManager: The basic service for managing a set of JDBC drivers.
        connection = DriverManager.getConnection("jdbc:mysql://193.219.91.103:13667", "root", "root");
        if (connection != null) {
            log("Connection Successful! ");
        } else {
            log("Failed to make connection!");
        }
    } catch (SQLException e) {
        log("MySQL Connection Failed!");
        e.printStackTrace();
        return;
    }
}

private static void log(String string) {
    System.out.println(string);
    }
}

【问题讨论】:

标签: java mysql


【解决方案1】:

如果你可以访问服务器端,你必须更改mysql配置文件。见https://dev.mysql.com/doc/refman/5.6/en/option-files.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 2020-08-03
    • 2021-12-17
    • 2023-04-05
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多