一下錯誤通常會出如今批量處理數據的過程當中:java
錯誤結果:sql
java.sql.SQLException: ORA-00604: 遞歸 SQL 級別 1 出現錯誤
ORA-01000: 超出打開遊標的最大數
ORA-01000: 超出打開遊標的最大數數據庫
出錯緣由:ide
Java代碼在執行conn.createStatement和conn.prepareStatement時,至關於在數據庫中打開了個遊標cursor,不要在循環中放在這兩個方法。優化
實在要放,也不該出現conn.createStatement().executeQuery(sql); 這個語句:以下
spa
for(...){code
resultSet= conn.createStatement().executeQuery(sql); //此種方式Statement 不會及時的關閉
resultSet.close();遞歸
}it
優化一點:io
Statement stmt= conn.createStatement();
resultSet= stmt.executeQuery(sql);
resultSet.close();
stmt.close();//此處必須手動給它關掉,否則、批處理時就該出現上述問題了