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

Làm cách nào để lấy các khóa được tạo bằng executeBatch mà không có ArrayIndexOutOfBoundsException?

Đây dường như là một lỗi trong Oracle trên Windows, trình điều khiển JAR ojdbc6.jar hoặc (biết Oracle) cả hai.

Không có vấn đề gì đáng kể với mã bạn đã trình bày. Nó sẽ hoạt động, mặc dù khi tôi chạy nó, số hàng được chèn mỗi lần được trả về là -2 (=Statement.SUCCESS_NO_INFO ), vì vậy bạn có thể tốt hơn nên bỏ qua những con số này.

Mã của bạn chạy tốt đối với tôi với Oracle 11g XE 11.2.0.2.0 trên Linux với bốn phiên bản của trình điều khiển Oracle JDBC JAR. Tuy nhiên, nếu tôi chạy nó trên Windows 10 với cùng phiên bản Oracle XE và với ojdbc6.jar, thì nó không thành công với ArrayIndexOutOfBoundsException mà bạn đang nhận được. Vấn đề sẽ biến mất nếu tôi sử dụng ojdbc7.jar thay vì ojdbc6.jar.

Do đó, tôi khuyên bạn nên thay thế ojdbc6.jar bằng ojdbc7.jar mà bạn có thể tải xuống từ tại đây .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ thực tế trong cuộc sống về việc sử dụng con trỏ tường minh tiên tri

  2. kiểu bộ sưu tập cục bộ không được phép trong câu lệnh SQL

  3. Thực thi truy vấn gốc với Hibernate 4.1

  4. Làm thế nào để đếm các bản sao liên tiếp trong một bảng?

  5. Cột được xác định chưa rõ ràng