Как правильно прописать NLS для nix системы?

SergNsk
Дата: 23.11.2009 19:56:06
Коллеги, совсем новичок в Оракле под nix - в данном случае OEL 4.7 и 10g

У меня такая проблема. Некая процедура в приложении по джобу берет с диска сервера файл csv через пакет UTL_FILE и пишет его потом в таблицы. При работе с числами возникает ошибка - мол числа с точкой - 2.75 - это не числа. Логично, потому что изначально все было русское - и разделитель - запятая. Я предположил, что юзеру oracle надо в профилях его прописать что-то типа NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 - прописал это в .bashrc и .bash_profile. перестаротовал инстанс.

захожу с сервера в sqlplus - делаю select * from v$nls_parameters - там все как я и указал и numeric - становятся - ., - все вроде ок. Но как дело доходит до джоба и процедуры - снова - 2.75 не число.

Я что-то явно упускаю из виду. Подскажите.
andrey_anonymous
Дата: 23.11.2009 20:05:44
Скажите в джобе перед вызовом процедуры
execute immediate 'alter session set nls_numeric_characters = ''.,''';
SergNsk
Дата: 24.11.2009 17:54:54
оказалось все просто. при создании job запоминает NLS параметры сессии создания
чтобы их изменить надо пересоздать джоб с нужными мне параметрами сессии
а я и не знал! буду знать )