我在java中创建Oracle的数组时,看到Oracle的数组都是"???", 这是为什么呢
下面是我的代码实现,高手们帮我看看这是为什么?我在Oracle中创建了一个数组类型;
create or replace type STTRING_ARRAY as table of varchar2(2000);Java中的使用为。
public static void TestArray(Connection conn) {
String[] newURLs = { "abc", "1234" }; oracle.sql.ARRAY array = null;
oracle.sql.ArrayDescriptor desc = null;
try {
desc = oracle.sql.ArrayDescriptor.createDescriptor("STTRING_ARRAY",
conn);
if (desc != null) {
array = new oracle.sql.ARRAY(desc, conn, newURLs); String[] tem = (String[]) array.getArray();
for (String str : tem) {
System.out.println(str);//<<<<这里输出的全是“???”;为什么
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
下面是我的代码实现,高手们帮我看看这是为什么?我在Oracle中创建了一个数组类型;
create or replace type STTRING_ARRAY as table of varchar2(2000);Java中的使用为。
public static void TestArray(Connection conn) {
String[] newURLs = { "abc", "1234" }; oracle.sql.ARRAY array = null;
oracle.sql.ArrayDescriptor desc = null;
try {
desc = oracle.sql.ArrayDescriptor.createDescriptor("STTRING_ARRAY",
conn);
if (desc != null) {
array = new oracle.sql.ARRAY(desc, conn, newURLs); String[] tem = (String[]) array.getArray();
for (String str : tem) {
System.out.println(str);//<<<<这里输出的全是“???”;为什么
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
把nls_charset12.jar添加到classpath里面去。
orai18n.jar,
nls_charset12.jar,
已经本来的ojdbc14.jar
这三个的,你可能可能是缺少了nls_charset12.jar。
这个包在哪个路径下?我在D:\oracle\product\10.2.0\client_1\jlib路径下找到了orai18n.jar,。但没有找到nls_charset12.jar,
Croatia,你太伟大了。问题解决了,谢谢。