oracle java jdbc做批量插入数据过程中存在异常如何继续

quartz做的定时任务,两个数据库更新数据。用jdbc做的到出,现在是从a库读出一条,向b库写一条现在想批量写入使用statement.addBatch();但有如下问... quartz做的定时任务,两个数据库更新数据。用jdbc做的到出,现在是从a库读出一条,向b库写一条
现在想批量写入使用 statement.addBatch();
但有如下问题,不知道如何处理:
a库中读出的数据,b库中可能已经存在,会有异常
单条读写时候遇到异常,跳过,读取下一条,现在批量插入不知道该怎么办了
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
侍南戎05m
2016-10-14
知道答主
回答量:1
采纳率:0%
帮助的人:1067
展开全部
请问你这个问题解决了嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鲲背浮雪_
2015-11-03 · TA获得超过204个赞
知道小有建树答主
回答量:385
采纳率:66%
帮助的人:245万
展开全部
两个库的主键机制应该不一样吧,那在抽取A库的时候不用查A的主键,然后插入B库的时候主键自己设置呢
追问
一样的,就相当于复制过来,包括主键信息,因为按时间提取,a中的数据可能会更新,所以写入b的时候会出现主键重复,并且b库中也不需要更新这条数据。单条写入时候出现异常跳过继续。

现在想批量处理,查了api看了executeBatch()方法执行多条sql时候如果一条失败,是有可能继续执行,或者停止执行。好像jdk1.3之后可以设置,是否继续执行,但查了很多资料都没查到。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
afeilf1
2015-11-02 · 超过34用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:58万
展开全部
把异常吃掉就可以了啊
追问
可能是我没说明白,批量处理可能需要一次读出10000条数据,在写入b库中
但b库中可能已经存在了其中的多条。
如果写道第100条的时候,数据重复(主键相同复制过来的),出现异常,那后边的9900条是不是就不会被写入了,所以问一下该怎么办
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式