java做批处理操作,报错java.sql.SQLRecoverableException解决方法
来源:互联网 发布:ovid数据库检索举例 编辑:程序博客网 时间:2024/06/02 09:50
程序中作批处理操作 批处理相关参考我其他文章!~
改了几天程序了 一直报错“关闭的连接” 我实在是无奈了
因为另外一个类似的程序是可以跑的
问题是:java作批处理操作
String sql = "insert into mytable(id, name, age, hobby, address) values(?,?,?,?,?)";
oc.createPst(sql); // 封装好的
for(XXX) {
for(xxx) {
getInfo();
...
oc.addBatch(); // 封装好的
}
}
oc.executeBatch(); // 也是封装好的
报错关闭的连接,执行批处理失败;
我就在想是不是批处理数据添加过多,那就分批处理吧 可以搞一个count记录批处理数量
String sql = "insert into mytable(id, name, age, hobby, address) values(?,?,?,?,?)";
oc.createPst(sql);
for(XXX) {
for(xxx) {
getInfo();
...
oc.addBatch();
if(count % 500 == 0){ // 数字可以自己定啊
oc.executeBatch(); // 执行之后会把preparedStatement关闭 所以要在建
oc.createPst(sql);
}
}
}
oc.executeBatch();
可是还是不行啊 继续百度啊
参考了下 http://blog.csdn.net/majian_1987/article/details/18598589 这位仁兄的
原来是和数据库的连接池有关啊,诶没学好连接池啊
数据库连接池中的连接建立但长时间不使用,连接就会被自动回收
我在做getInfo() 操作时 耗时比较久,导致连接被回收了 我又不知道。。。所以就一直报错
建议:
修改代码时,确保添加批处理操作的时间间隔不要相差太多,
如果实在是控制不了时间,那就先把要插入的数据保存以后,可以用vector,list等等
在循环遍历 将数据加入批处理,在执行批处理。
- java做批处理操作,报错java.sql.SQLRecoverableException解决方法
- 报错解决:java.sql.SQLRecoverableException:IO 错误:Got minus one from a read call
- 关于Linux连接Oracle数据库报错Caused by: java.sql.SQLRecoverableException: IO Error: Connection timed out的解决方案
- java.sql.SQLRecoverableException: IO 错误: Broken pipe
- java.sql.SQLRecoverableException: IO 错误: Socket closed
- java.sql.SQLRecoverableException: 关闭的连接 解决办法
- java.sql.SQLRecoverableException: IO 错误: Undefined Error
- 关于java.sql.SQLRecoverableException: Closed Connection异常的解决方案
- C3PO Caused by: java.sql.SQLRecoverableException:关闭的连接
- was(websphere)启动服务java.sql.SQLRecoverableException
- 解决Caused by: java.sql.SQLRecoverableException: IO Error: Connection reset相关问题
- java.sql.SQLRecoverableException: IO Error: Got minus one from a read call
- 解决Caused by: java.sql.SQLRecoverableException: IO Error: Connection reset相关问题
- sql java 批处理
- java SQL批处理
- java sql 批处理
- java 批处理sql语句
- Java批处理操作
- 2014年10月28日笔记
- Cognos异常(五) - CAM-CRP-1093 无法读取密钥库
- 涛哥的Python脚本工具箱之生成带Logo的二维码
- jQuery EasyUI-DataGrid动态加载表头
- 虚拟机 Transport(VMDB)error -44:Message
- java做批处理操作,报错java.sql.SQLRecoverableException解决方法
- 【快速参考】用Emacs做Android开发环境
- centos 6.4 yum安装zabbix-agent端
- lhgdialog窗口传值
- Eclipse项目去掉jquery的红叉
- YARN NodeManager 剖析
- 码农的救赎:使用Github Pages搭建博客
- fdgfd
- jQuery日期弹出选择框Datepicker效果