Sybase中的JDBC批处理创建

Sybase中的JDBC批处理创建,jdbc,sap-ase,Jdbc,Sap Ase,我需要更新一个大约有500万行的表。 为此,我想用java创建批处理语句,并作为批量操作进行更新 Righht现在我有100个批次A,它可以正常工作。但是当我将批次数量增加到100个以上时,我得到一个例外:com.sybase.jdbc2.jdbc.SybBatchUpdateException:JZ0BE:BatchUpdateException:执行batch语句时出错:Message empty 我怎样才能在CallableStatement对象中有更多的批处理语句。声誉不足,无法留下评论

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

Righht现在我有100个批次A,它可以正常工作。但是当我将批次数量增加到100个以上时,我得到一个例外:com.sybase.jdbc2.jdbc.SybBatchUpdateException:JZ0BE:BatchUpdateException:执行batch语句时出错:Message empty


我怎样才能在CallableStatement对象中有更多的批处理语句。

声誉不足,无法留下评论……但您批处理的语句类型是什么?您正在更新这些行中的多少行?表是否有主键?表中有多少列,您要更新其中多少列

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

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

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

再说一次,我不知道你要做的事情有多大…但是我知道如果你要做单行更新,这会非常快