Я использую groovy.sql.Sql.sql(DataSource ds)
в качестве фасада над JDBC.
И использую объект, возвращенный новым Sql (dbConnection), для запуска команды sql: UPDATE user_s SET U_DT_PWDCREATIONDT='21-MAY-15 10.56.51.938000000
'.
Кодможет работать с машиной linux с английским языком.Тем не менее, он не может работать на машине Linux с китайским языком.Сообщение об ошибке:
«ORA-01843: недопустимый месяц»
Произведено некоторое расследование:
- В Oracle SQL Developer, команда sql может работать,
SELECT * FROM nls_session_parameters WHERE parameter = 'NLS_DATE_LANGUAGE'
;Возвращается " Английский ". - Если я изменил его на китайский
ALTER SESSION SET NLS_DATE_LANGUAGE='SIMPLIFIED CHINESE'
SELECT * FROM nls_session_parameters WHERE parameter = 'NLS_DATE_LANGUAGE'
;
Затем нажмите ту же проблему.
В Java-коде, перед выполнением команды sql, просто выполните команду:
ALTER SESSION SET NLS_DATE_LANGUAGE='English'
, это может исправить мою проблему.
Вопрос в том, можно ли настроить его с помощью Java-кода?Например, назначить некоторые свойства для источника данных / dbconnection?