JDBC鏈接時,出現的錯誤ORA-00604

一下錯誤通常會出如今批量處理數據的過程當中: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();//此處必須手動給它關掉,否則、批處理時就該出現上述問題了

相關文章
相關標籤/搜索