Мы используем Oracle версии 12.1.0.2.0 с ojdbc7-1.0.jar
и JDK 8.
Мы используем Hikari в качестве пула подключений, если он актуален и использует oracle.jdbc.driver.OracleDriver
Это рекомендуемый драйвер для использования в Oracle
Соответствие спецификации JDBC версии базы данных Oracle
12.1 или 12cR1 ojdbc7.jar с JDK 7 и JDK 8
В приложении Spring мы используем PreparedStatement
и хотим поддерживать национальные символы в качестве символов.
Мы используем setNString , который работает для новых / обновленных запросов
Устанавливает назначенный параметр для данного объекта String. Драйвер преобразует его в значение SQL NCHAR, NVARCHAR или LONGNVARCHAR (в зависимости от размера аргумента относительно ограничений драйвера на значения NVARCHAR) при отправке его в базу данных.
Можем ли мы добавить поддержку (уровень платформы / конфигурации) для существующего кода с использованием setString
без изменения кода?
try (PreparedStatement ps = conn.prepareStatement(SQL_STATEMENT)) {
ps.setString(1, THAI_TEXT);
}
В настоящее время setString
не обрабатывает национальные символы (сохранить как?), Хотя столбцы определены как NVARCHAR2(50)
Должны ли мы заменить все setString
на setNString
?
или есть флаг / свойство / обновление / исправление, которое может добавить национальную поддержку с помощью setString
?