Мы создаем приложение Java, поддерживаемое базой данных Oracle, к которой мы обращаемся, используя JDBC (драйверы ojdbc6.jar и orai18n.jar). Схема базы данных хранит текстовые столбцы, в основном используя тип данных NVARCHAR2.
Документация JDBC для JDBC ResultSet говорит о том, что getNString() специально предназначен для использования с типами данных NCHAR, NVARCHAR и т.д., но на данный момент мы используем только getString().
Кажется, это работает нормально, поэтому мне интересно, почему я должен использовать getNString(), а не getString(). Является ли getString() запуском с ошибкой, если введены не-ASCII-символы или является драйвером Oracle JDBC безразличным относительно того, какой метод я должен использовать?
EDIT: Кажется, он может быть зависимым от базы данных: SQL Server, похоже, не против того, что вы используете, в зависимости от параметров подключения. Кто-нибудь имеет какую-либо конкретную информацию о Oracle?