用java从oracle取数
2004-11-19 17:49
821 查看
此文举例说明了如何用java从oracle获取数组,并解决了字符显示hex乱码的问题
/*
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();
}
}
/*
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();
}
}
相关文章推荐
- day5-java&oracle总结
- oracle创建java外部例程
- JAVA调用ORACLE带数组输入参数和返回游标结果集的存储过程
- Oracle_12.1_Java开发2日通_2014.2(1)
- oracle 存储过程调用java
- [转]JAVA完全控制Oracle中BLOB、CLOB说明
- [原著]java或者Js 代码逻辑来处理 突破 oracle sql “IN”长度的极限的问题
- java的oracle考试认证(OCJP)之路
- Java代码实现excel数据导入到Oracle
- java连接oracle
- java 调用oracle中的过程函数
- 用java 实现 oracle的自动备份和恢复功能。
- 一篇让Java程序猿随时可以翻看的Oracle总结
- 【再探JAVA】Split & 继承实现_Oracle赛前试考
- java下OracleHelper包的应用实例
- Oracle中根据Date型转换成Java对应的long型毫秒数
- Java 支持Oracle CLOB类型数据
- Oracle调用Java Srouce
- oracle 数据库添加Java方法
- Xblo(JSP+Servlet+JavaBean+Oracle单用户Blog)