これはインターフェースなので、java.sql.Connection 同様、JDBC ドライバのベンダから実装を提供してもらわねばならない。
Oracle では、oracle.sql.ARRAY がこのインターフェースの実装になっている。次のようなコードを使う。
oracle.sql.ArrayDescriptor arrayDesc = oracle.sql.ArrayDescriptor.createDescriptor("HOGE_ARRAY", con);
java.sql.Array array = new oracle.sql.ARRAY(arrayDesc, con, new int[] {1,3,5,0});
con は java.sql.Connection である。これは、Oracle のドライバから取得した Connection でなくてはならない。DataSource 等から取得したラッパだと ClassCastException が発生することがある。
HOGE_ARRAY は、Oracle の CREATE TYPE 文でつくった型だ。何故か大文字で指定しなくてはならなかった。
ここでは、整数配列から java.sql.Array をつくっているが、当然、HOGE_ARRAY 型は整数を格納できる配列型として Oracle 側で定義していなくてはならない。
Tuesday, March 14, 2006
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment