установить локаль для соединения с Oracle - PullRequest
3 голосов
/ 14 марта 2011

В продукте моей компании мы получаем результаты по странице за раз из базы данных.Из-за этого вся фильтрация и сортировка должны выполняться в базе данных.Одна из проблем - это закодированные значения.Чтобы фильтрация и сортировка работали должным образом, кодовые значения необходимо преобразовать в конкретные языковые метки в запросе.

Я планирую использовать таблицу, аналогичную следующей: t_code_to_label (тип varchar2 (10), localevarchar2 (10), код varchar2 (10), метка varchar2 (50)) Первые три столбца являются первичным (уникальным) ключом.

При использовании этой таблицы вы увидите что-то вроде этого

select ent.name, ent.ent_type, entlabel.label as ent_type_label from t_entitlements ent join t_code_to_label entlabel on entlabel.type='entlabel' and entlabel.locale=currentLocale() and entlabel.code=ent.ent_type

Проблема в том, что currentLocale () - это то, что я придумал.Как я могу на стороне Java соединения JDBC сделать что-то, чтобы установить локаль для объекта Соединения, который у меня есть, который я могу прочитать на стороне Oracle в простой функции.В идеале это истинная поддержка Oracle, но я не могу найти такую ​​вещь.

Я использую Oracle 10g и 11g.

1 Ответ

6 голосов
/ 14 марта 2011

Вы говорите о настройке NLS_LANGUAGE базы данных Oracle?Хотели бы вы (со стороны клиента) диктовать использование определенной NLS_LANGUAGE базой данных Oracle?

Тогда, возможно, это сработает: Установите Oracle NLS_LANGUAGE из java в веб-приложении

Если вы хотите провести «полностью американский» сеанс, вы можете сделать что-то вроде:

ALTER SESSION SET NLS_LANGUAGE= 'AMERICAN' NLS_TERRITORY= 'AMERICA' 
                  NLS_CURRENCY= '$' NLS_ISO_CURRENCY= 'AMERICA' 
                  NLS_NUMERIC_CHARACTERS= '.,' NLS_CALENDAR= 'GREGORIAN' 
                  NLS_DATE_FORMAT= 'DD-MON-RR' NLS_DATE_LANGUAGE= 'AMERICAN' 
                  NLS_SORT= 'BINARY'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...