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

Chèn CLOB vào cơ sở dữ liệu Oracle

Bạn đang làm cho nó trở nên phức tạp.

Sử dụng PreparedStatement và addBatch () cho mỗi clob trong danh sách của bạn:

String sql = "insert  into " + tempTableName + " values (?)";
PreparedStatement stmt = connection.prepareStatement(sql);
for (String query : readQueries) {
  stmt.setCharacterStream(1, new StringReader(query), query.lenght());
  stmt.addBatch();
}
stmt.exececuteBatch();

Không gây rối với các chuỗi thoát, không có vấn đề với độ dài của các ký tự, không cần tạo các dấu tắc tạm thời. Và hầu hết có thể nhanh như sử dụng một câu lệnh INSERT ALL.

Nếu bạn đang sử dụng trình điều khiển hiện tại (> 10.2) thì tôi nghĩ rằng lệnh gọi setCharacterStream () và việc tạo Trình đọc cũng không cần thiết. Một setString(1, query) hầu hết có lẽ cũng sẽ hoạt động.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xóa Máy ảo khỏi VirtualBox

  2. chọn rownum từ mức lương mà rownum =3;

  3. cách sử dụng dbms_scheduler để chạy công việc sau mỗi 30 phút

  4. trình tự tiên tri ngủ đông tạo ra khoảng cách lớn

  5. Thu thập thống kê giản đồ bằng FND_STATS trong EBS 11i và R12