【问题标题】:JDBC batch creation in SybaseSybase 中的 JDBC 批量创建
【发布时间】:2012-03-28 11:54:19
【问题描述】:

我需要更新一个大约有 500 万行的表。 因此,为此目的,我想在 java 中创建批处理语句并作为批量操作更新。

现在我有 100 个批次,它工作正常。但是当我将批次数量增加到 100 多个时,我得到一个异常:com.sybase.jdbc2.jdbc.SybBatchUpdateException:JZ0BE:BatchUpdateException:执行批处理语句时发生错误: 消息为空。

如何在我的 CallableStatement 对象中有更多的批处理语句。

【问题讨论】:

    标签: jdbc sap-ase


    【解决方案1】:

    没有足够的声誉离开 cmets...但是您要批处理哪些类型的语句?您要更新多少行?表有主键吗?表中有多少列,您要更新其中的多少列?

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

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

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

    再说一次,我不知道您要执行的操作的数量...但我知道您是否要尝试进行单行更新,这将非常快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-03
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 2015-09-16
      • 2011-01-14
      相关资源
      最近更新 更多