import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import oracle.jdbc.OracleTypes;
import oracle.jdbc.rowset.OracleCachedRowSet;
import oracle.sql.ARRAY;
import oracle.sql.ArrayDescriptor;
import oracle.sql.CharacterSet;
public class Temp {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@xxxxxxxx:1521:billbj1","xxxx","xxxx");
CallableStatement callableStatement = conn.prepareCall("{? = call xxxxxxxxxxxxx(?,?,?,?)}");
callableStatement.registerOutParameter(1, OracleTypes.CURSOR);
CharacterSet dbCharset = CharacterSet.make(CharacterSet.AL32UTF8_CHARSET);//可以指定调试的字符集.
List<oracle.sql.CHAR> cid = new ArrayList<oracle.sql.CHAR>();
oracle.sql.CHAR value = new oracle.sql.CHAR("6487", dbCharset);
cid.add(value);
List<oracle.sql.CHAR> nid = new ArrayList<oracle.sql.CHAR>();
value = new oracle.sql.CHAR("0105591", dbCharset);
nid.add(value);
ARRAY channelIdArray = createArray("CHANNELIDARRAY", cid, conn);
callableStatement.setArray(2, channelIdArray);
callableStatement.setString(3, "200810010000");
callableStatement.setString(4, "200810010059");
ARRAY nodeIdArray = createArray("NODEIDARRAY", nid, conn);
callableStatement.setArray(5, nodeIdArray);
callableStatement.execute();
ResultSet rs1 = (ResultSet) callableStatement.getObject(1);
OracleCachedRowSet rs = new OracleCachedRowSet();
rs.populate(rs1);
rs1.close();
callableStatement.close();
conn.close();
int x = 0;
while(rs.next() && ++x < 10){
java.sql.Timestamp d = rs.getTimestamp(1);
System.out.println(d.toString());
}
}
private static ARRAY createArray(final String sqlTypeName,
final List<oracle.sql.CHAR> channelIds, Connection connection)
throws SQLException {
ArrayDescriptor channelIdArraydesc = ArrayDescriptor.createDescriptor(
sqlTypeName, connection);
ARRAY channelIdArray = new ARRAY(channelIdArraydesc, connection,channelIds.toArray(new oracle.sql.CHAR[0]));
return channelIdArray;
}
}
分享到:
相关推荐
Oracle数据库字符集问题的研究.pdf
关于Oracle中字符集问题的探讨.pdf
Oracle数据库字符集问题解决方案大全.doc,搜罗的一些关于Oracle数据库的汉字无法正常显示的解决方案。希望对于需要的朋友有用。
Oracle数据库升迁时字符集问题的解决.pdf
Oracle数据库字符集问题解析.pdf
ORACLE数据库字符集[参考].pdf
oracle修改字符集[文].pdf
Oracle 修改字符集Oracle 修改字符集Oracle 修改字符集
LINUX下修改ORACLE的字符集[文].pdf
oracle修改字符集,解决乱码问题.
ORACLE集群修改字符集问题的解决.pdf
oracle字符集查看与修改.pdf
Oracle字符集的问题.总结了一些项目中的实际问题,和解决办法
Oracle数据库字符集问题解析
解决ORACLE字符集转化的方法技术.pdf
oracle字符集[归类].pdf
java连接AmericanascII7字符集oracle例子
.Net框架联合Oracle字符集问题研究.pdf
从远程oracle数据库取数据是乱码,因为远程oracle字符集为AMERICAN_AMERICA.US7ASCII 本地oracle字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK 所以是乱码,解决办法请下载文档 多谢 因为要下载其他资源无分 多多...
oracle11g 修改字符集 修改为ZHS16GBK 有时候因为数据库的字符集的问题,导致dmp文件不能正常导入到其他数据库。可以用下面的方法将数据库的字符集修改一下