加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Sybase中的JDBC批处理创建

发布时间:2020-12-15 02:32:48 所属栏目:Java 来源:网络整理
导读:我需要更新一个有大约500万行的表. 因此,为此我想在 java中创建批处理语句并作为批量操作进行更新. Righht现在我有100个批次,并且它工作正常.但是当我增加批次数超过100时,我得到一个例外:com.sybase.jdbc2.jdbc.SybBatchUpdateException:JZ0BE:BatchUpda
我需要更新一个有大约500万行的表.
因此,为此我想在 java中创建批处理语句并作为批量操作进行更新.

Righht现在我有100个批次,并且它工作正常.但是当我增加批次数超过100时,我得到一个例外:com.sybase.jdbc2.jdbc.SybBatchUpdateException:JZ0BE:BatchUpdateException:执行批处理语句时出错:消息为空.

如何在CallableStatement对象中有更多批处理语句.

解决方法

没有足够的声誉来发表评论……但是你在批处理什么类型的声明?你更新了多少行?表有主键吗?表中有多少列,以及您更新了多少列?

通用答案:
sybase中的JDBC框架非常快.您至少可以考虑编写一个简单的过程来接收您用来标识行的主键(或其他)信息,以及将更新为行的新值作为输入变量.此过程仅更新单行.

将此过程包装在自己的java方法中,该方法处理callablestatement,注册你的错误号和错误消息参数等.

然后,您可以遍历您现在使用的任何构造来更新数据,并使用相同的java方法调用过程来逐行更新值.

再一次,我不知道你要做的事情的数量……但我知道你是否想要进行单行更新,这将非常快.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读