/* 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();   } }
   
 
  |