首页 > 数据库 > Oracle > 正文

用java从oracle取数

2024-08-29 13:33:08
字体:
来源:转载
供稿:网友
/*
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();
  }
}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表