Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Không thể giải quyết lỗi - java.sql.SQLException:ORA-01000:vượt quá con trỏ mở tối đa

Nếu bạn đang cố gắng thực hiện cùng một thao tác 1000 lần, tôi khuyên bạn nên re-using cùng một PreparedStatement hoặc sử dụng addBatch() executeBatch() kết hợp.

Nếu bạn định sử dụng lại PreparedStatement của mình, đây là điều bạn có thể làm:

public void insertARow(PreparedStatement ps, ArrayList<String> row){
 //your code
}

public void calledMethod(){
 String insert = "INSERT INTO user.info(cola,colb) values(?,?)";
 PreparedStatement ps = null;

 try{
   ps = con.prepareStatement(insert);
   /**
    * Here you make the call to insertARow passing it the preparedstatement that you
    * have created. This in your case will be called multiple times.
    */
   insertARow(ps, row);
 }finally{
   if(ps != null){
     //close ps
   }
 }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. opatch trước yêu cầu

  2. CHỌN từ bảng với danh sách Thay đổi IN trong mệnh đề WHERE

  3. Truy vấn đối sánh lựa chọn Oracle SQL

  4. Oracle đọc Tệp từ Thư mục với ngoại lệ

  5. Có cách nào để sử dụng RSA trong Oracle / PL SQL không?