ORACLE 9i を使う際に、バインド変数に長い文字列を指定する場合の注意

バインド変数の値が 2000文字(ASCII)以上のになるものが複数存在すると、何故か「ORA-01461: LONG値はLONG列にのみバインドできます。」が発生します。
ORACLE 10g, 11g では発生しません。

サンプルクエリ

create table TEST (
  PK number(3,0) not null primary key, 
  CONTENT1 varchar2(4000), 
  CONTENT2 varchar2(4000), 
  CONTENT3 varchar2(4000) 
)
/
insert into TEST values (:PK, :CONTENT1, :CONTENT2, :CONTENT3)
/
select PK, CONTENT1, CONTENT2, CONTENT3, LENGTH(CONTENT1), LENGTH(CONTENT2), LENGTH(CONTENT3) from TEST
/
drop table TEST
/
結果 CONTENT1 CONTENT2 CONTENT3
NG 4000 4000 4000
NG 2000 2000 0
OK 1999 2000 1999
OK 1999 4000 1999

ODP.NET 4 で発生しましたが、他のアプリ(SI Object Browser)でも発生しているので、ODP.NET の問題では無いと思います。
また、文字数は体験談で公式ではありません。公式のドキュメントがどこかにあるのかな?
とりあえずの回避方法としてバインド変数を増やして、クエリ内で文字列結合で逃げれます。。

insert into TEST values (:PK, :CONTENT1_1 || :CONTENT1_2 || :CONTENT1_3 || :CONTENT1_4, ...)