我无法得到解决方案。我的代码:
package simple;
import java.sql.*;
public class Dbconnect {
public static Connection Dbconnector() {
Connection con=null;
try {
con=DriverManager.getConnection("jdbc:mysql://www.merinasoftbd.com:2083/merinaso_inventory management?useSSL=false", "merinaso_inventorymanagement", "inventorymanagement");
System.out.println("Successfully connected");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
}
错误:
com.mysql.cj.jdbc.exceptions.PacketTooBigException:查询包太大(5,526,600> 65,535)。您可以通过设置'max_allowed_packet'变量在服务器上更改此值。 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:107) 在com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862) 在com.mysql.cj.jdbc.ConnectionImpl。(ConnectionImpl.java:444) 在com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230) 在com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) 在simple.Dbconnect.Dbconnector(Dbconnect.java:18) 在simple.mainclass.main(mainclass.java:13)
答案 0 :(得分:0)
您的错误消息表明您的JDBC客户端向MySQL服务器发送的数据包大于服务器的最大数据包大小。您可以按照此stackoverflow问题的答案中的说明增加最大数据包大小:
How to change max_allowed_packet size
然而,驱动程序需要发送5 MB数据包才能创建连接,这似乎有点奇怪。但我通常使用更大的MySQL数据包大小,所以我不会注意到。请注意,MySQL数据包大小与IP数据包大小无关。