2011-04-24 64 views
0

我在oracle中有几个字段是NVARCHAR,我使用的是Java 1.5。如果我以字符串的形式读取这些值,或者是否有更好的方法来读取NVARCHAR列?JDK 1.5中的NVARCHAR

回答

2

假设你有一个ResultSet命名为rs那么这是适合NVARCHAR

String myColumn = rs.getString("my_column"); 

Globalization Support for JDBC Drivers

Oracle JDBC驱动程序提供全球化支持,允许您从检索数据或插入数据转换为Oracle9i数据库的SQL CHAR和NCHAR数据类型的列。由于Java字符串被编码为用于JDBC程序的UTF-16(16位Unicode),因此客户端上的目标字符集始终为UTF-16。对于存储在CHAR,VARCHAR2,LONG和CLOB数据类型中的数据,JDBC将数据库字符集中的数据透明地转换为UTF-16。 对于存储在NCHAR,NVARCHAR2和NCLOB数据类型中的Unicode数据,JDBC将国家字符集中的数据透明地转换为UTF-16。

+0

这是否意味着我们无法读取NVARCHAR2而无需从oracle db转换为UTF-16? – 2011-04-24 09:57:24

+0

是的,这意味着,因为Java本身总是使用UTF-16。 – 2011-04-24 11:49:24