Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Devo usar JDBC getNString() em vez de getString()?


Eu fiz um teste em nosso aplicativo e parece que getNString() é desnecessário com drivers Java 6, JDBC 6, Oracle JDBC 6 e Oracle 11.1.0.6.0. A string de teste que usei foi "Δ, Й, ק, ‎ م, ๗, あ, 叶, 葉 e 말", copiada de http://en.wikipedia.org/wiki/Unicode .

A maior parte do nosso acesso a dados é feito através de procedimentos armazenados. Java foi capaz de definir e recuperar a string de teste acima corretamente via setObject() e getString() (não setString() por motivos de abstração), coletando dados da interface e gravando-os de volta na interface conforme o esperado.

Portanto, getString() funciona bem para dados Unicode com Oracle 11g (como SQL Server como no link acima), então continuaremos a usar isso em vez de getNString() .