/*
drop table varray_table;
drop type num_varray;
create type num_varray as varray(10) of varchar2(12)
/
create table varray_table (col1 num_varray);
insert into varray_table values (num_varray('你好', 'abc'));
select * from varray_table;
*/
import java.sql.*;
import java.math.*;
import oracle.jdbc.driver.*;
import oracle.sql.*;
class array1
{
public static void main(string args[]) throws exception
{
int oracleid = characterset.zhs16gbk_charset;
characterset dbcharset = characterset.make(oracleid);
drivermanager.registerdriver
(new oracle.jdbc.driver.oracledriver());
connection conn =
drivermanager.getconnection
("jdbc:oracle:thin:@10.9.200.58:1521:db01",
"mytest",
"mytest");
statement stmt = conn.createstatement();
resultset rs = stmt.executequery("select * from varray_table");
while (rs.next()) {
array my_array = ((oracleresultset)rs).getarray(1);
// return the sql type names, integer codes,
// and lengths of the columns
system.out.println ("array is of type " + my_array.getsqltypename());
system.out.println ("array element is of typecode " + my_array.getbasetype());
system.out.println ("array is of length " + my_array.length());
// get array elements
string[] values = (string[]) my_array.getarray();
for (int i = 0; i < values.length; i++)
{
oracle.sql.char out_value = new oracle.sql.char(values[i], dbcharset);
system.out.println(">> index " + i + " = " + out_value);
}
}
rs.close();
stmt.close();
conn.close();
}
}
闽公网安备 35060202000074号