oracle java jdbc做批量插入数据过程中存在异常如何继续
quartz做的定时任务,两个数据库更新数据。用jdbc做的到出,现在是从a库读出一条,向b库写一条现在想批量写入使用statement.addBatch();但有如下问...
quartz做的定时任务,两个数据库更新数据。用jdbc做的到出,现在是从a库读出一条,向b库写一条
现在想批量写入使用 statement.addBatch();
但有如下问题,不知道如何处理:
a库中读出的数据,b库中可能已经存在,会有异常
单条读写时候遇到异常,跳过,读取下一条,现在批量插入不知道该怎么办了 展开
现在想批量写入使用 statement.addBatch();
但有如下问题,不知道如何处理:
a库中读出的数据,b库中可能已经存在,会有异常
单条读写时候遇到异常,跳过,读取下一条,现在批量插入不知道该怎么办了 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
展开全部
两个库的主键机制应该不一样吧,那在抽取A库的时候不用查A的主键,然后插入B库的时候主键自己设置呢
追问
一样的,就相当于复制过来,包括主键信息,因为按时间提取,a中的数据可能会更新,所以写入b的时候会出现主键重复,并且b库中也不需要更新这条数据。单条写入时候出现异常跳过继续。
现在想批量处理,查了api看了executeBatch()方法执行多条sql时候如果一条失败,是有可能继续执行,或者停止执行。好像jdk1.3之后可以设置,是否继续执行,但查了很多资料都没查到。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把异常吃掉就可以了啊
追问
可能是我没说明白,批量处理可能需要一次读出10000条数据,在写入b库中
但b库中可能已经存在了其中的多条。
如果写道第100条的时候,数据重复(主键相同复制过来的),出现异常,那后边的9900条是不是就不会被写入了,所以问一下该怎么办
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询