Tag: nvarchar

我应该使用JDBC getNString()而不是getString()吗?

我们正在构建一个由我们使用JDBC访问的Oracle数据库支持的Java应用程序(驱动程序ojdbc6.jar和orai18n.jar )。 数据库模式主要使用NVARCHAR2数据类型存储文本列。 JDBC ResultSet的JDBC文档说getNString()特别适用于NCHAR,NVARCHAR等数据类型,但目前我们只使用getString() 。 这似乎工作正常,所以我想知道为什么我应该使用getNString()而不是getString() 。 如果输入非ASCII字符, getString()会开始失败,或者Oracle JDBC驱动程序对于我应该使用哪种方法无动于衷? 编辑:似乎它可能依赖于数据库: SQL Server似乎不介意您使用哪个 ,具体取决于连接参数。 有没有人有关于Oracle的任何具体信息?

将国家字符插入oracle NCHAR或NVARCHAR列不起作用

在oracle数据库中插入字符串时,某些国家字符将替换为问号,即使它们插入NCHAR或NVARCHAR列中 – 应该能够处理所有Unicode字符。 使用Oracle的SQL Developer,sqlplus或使用JDBC驱动程序会发生这种情况。 数据库NLS_CHARACTERSET设置为WE8ISO8859P1(西欧iso-8859-1)。用于NCHAR列的NLS_NCHAR_CHARACTERSET设置为AL16UTF16。 (UTF-16) 任何不在NLS_CHARACTERSET中的字符似乎都被替换为反转的问号。