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.