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

JDBC - Oracle ArrayIndexOutOfBoundsException

Trong Oracle Metalink (trang hỗ trợ của Oracle - Note ID 736273.1), tôi thấy rằng đây là một lỗi trong bộ điều hợp JDBC (phiên bản 10.2.0.0.0 đến 11.1.0.7.0) mà khi bạn gọi hàm readyStatement với hơn 7 tham số vị trí thì JDBC sẽ lỗi này.

Nếu bạn có quyền truy cập vào Oracle Metalink thì một tùy chọn là truy cập vào đó và tải xuống bản vá được đề cập.

Giải pháp khác là cách giải quyết - sử dụng các tham số được đặt tên thay vì các tham số vị trí:

INSERT INTO rule_definitions(RULE_DEFINITION_SYS,rule_definition_type,
rule_name,rule_text,rule_comment,rule_message,rule_condition,rule_active,
rule_type,current_value,last_modified_by,last_modified_dttm,
rule_category_sys,recheck_unit,recheck_period,trackable)
VALUES(RULE_DEFINITIONS_SEQ.NEXTVAL,:rule_definition_type,
:rule_name,:rule_text,:rule_comment,:rule_message,:rule_condition,:rule_active,
:rule_type,:current_value,:last_modified_by,:last_modified_dttm,
:rule_category_sys,:recheck_unit,:recheck_period,:trackable)

và sau đó sử dụng

preparedStatement.setStringAtName("rule_definition_type", ...)

v.v ... để đặt các biến liên kết được đặt tên cho truy vấn nà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. Khi nào tôi cần sử dụng dấu chấm phẩy và dấu gạch chéo trong Oracle SQL?

  2. Cách khôi phục cơ sở dữ liệu bằng RMAN

  3. (+) =toán tử trong oracle sql trong mệnh đề where

  4. Truy vấn Oracle Pivot đưa ra các cột có dấu ngoặc kép xung quanh tên cột. Gì?

  5. Bỏ người dùng được kết nối khỏi lược đồ cơ sở dữ liệu Oracle 10g