Di Oracle Metalink (situs dukungan Oracle - Catatan ID 736273.1) saya menemukan bahwa ini adalah bug di adaptor JDBC (versi 10.2.0.0.0 hingga 11.1.0.7.0) bahwa ketika Anda memanggil ReadyStatement dengan lebih dari 7 parameter posisi maka JDBC akan buang kesalahan ini.
Jika Anda memiliki akses ke Oracle Metalink, maka satu opsi adalah pergi ke sana dan mengunduh patch yang disebutkan.
Solusi lainnya adalah solusi - gunakan parameter bernama alih-alih parameter posisi:
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)
lalu gunakan
preparedStatement.setStringAtName("rule_definition_type", ...)
dll. untuk menyetel variabel bind bernama untuk kueri ini.