setBinaryStream方法读取的文件是不是有大小限制?
Connection conn = DataSource.getConnection();
java.io.File file = new java.io.File( "d:\\show.doc ");
java.io.FileInputStream fis;
String sql = "insert into mq_receive(id,zhengwen) values(11,?) ";
try {
fis = new java.io.FileInputStream(file);
PreparedStatement pstatement = conn.prepareStatement(sql);
pstatement.setBinaryStream(1, fis, (int) file.length());
pstatement.executeUpdate();
conn.commit();
pstatement.close();
} catch (
FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DataSource.release(conn);
setBinaryStream方法读取的文件是不是有大小限制?d:\\show.doc文件为17k时,报
java.sql.SQLException: 无法从套接字读取更多的数据,比如d:\\show.doc文件为1k时,就正常插入了,这是什么原因啊??
------解决方案--------------------大小是限制是 有的,但是肯定不会只有10几K
换成这句看看
pstatement.setBinaryStream(1, fis,fis.available());
------解决方案--------------------是Blob 类型的吗?