I Oracle Metalink (Oracles supportwebbplats - Notera ID 736273.1) fann jag att detta är en bugg i JDBC-adaptern (version 10.2.0.0.0 till 11.1.0.7.0) att när du anropar readyStatement med mer än 7 positionsparametrar kommer JDBC att kasta det här felet.
Om du har tillgång till Oracle Metalink så är ett alternativ att gå dit och ladda ner nämnda patch.
Den andra lösningen är en lösning - använd namngivna parametrar istället för positionsparametrar:
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)
och använd sedan
preparedStatement.setStringAtName("rule_definition_type", ...)
etc. för att ställa in namngivna bindningsvariabler för denna fråga.