Java SQL 插入大量数据时出现异常

Java SQL Exception while Inserting large amount of Data

我正在尝试将大量数据从一个 table 插入另一个 table。两个table在不同的地区。当我插入数据时,ID(我用来创建连接)能够插入较少行数的数据。如果它插入超过 500 行的数据,它会抛出异常

com.ibm.db2.jcc.b.SqlException:DB2 SQL 错误:SQL代码:-551,SQL状态:42501,SQLERRMC : DB2GCS;执行包;NULLID.SYSLH203.

我无法找到为什么在数据更多时它会显示相同 ID 的授权异常。

My Code Snippet : 
 while(RSet.next()){
           stmt=test_conn.prepareStatement("Insert Query");
           for(int i=1;i<=columnCount;i++){
               stmt.setString(i,RSet.getString(i));
           }
           stmt.addBatch();;
       }
       stmt.executeBatch();

在此先感谢您的帮助。

您的代码实际上没有正确批处理,这可能是它崩溃的原因。问题是您在不必要地一遍又一遍地准备插入查询。

你只需要像

一样在循环外准备一次
test_conn.setAutoCommit(false);
stmt = test_conn.prepareStatement("INSERT INTO ...");

while(RSet.next()){
   for(int i = 1; i <= columnCount; i++){
       stmt.setString(i, RSet.getString(i));
   }
   stmt.addBatch();
}

stmt.executeBatch();
test_conn.commit();