我用一个循环往数据库里面存文件,本来可以作为文件存放数据库里面只放文件的位置的,但是没有办法租的服务器网页空间大小有限制数据库没有限制。语句是这样的
public static final DataBase.MAXSIZE=1024*512;
for(int i=0;i<size;i+=DataBase.MAXSIZE){
System.out.println(i);
PreparedStatement sql=con.prepareStatement("insert into FILE_DATA_TABLE(DATA_SIZE,DATA_CON,FILE_ID)values(?,0,?);");
if((size-i)>DataBase.MAXSIZE){
sql.setInt(1, DataBase.MAXSIZE);
sql.setBinaryStream(2, in, DataBase.MAXSIZE);
}else{
sql.setInt(1,in.available()-i);
sql.setBinaryStream(2, in,in.available()-i);
break;
}
sql.setInt(2, this.fILE_ID);
sql.execute();
sql=null;
}
但是总会抛出 Packet for query is too large (6921195 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.各位有没有解决办法?