| Russian Oracle Network |
Помощь
Поиск
Участники
Календарь
|
| Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
![]() ![]() |
| dzerjinsky |
Отправлено: Jan 12 2010, 11:58
|
|
Новичок ![]() Группа: Members Сообщений: 3 Пользователь ?: 1911 Регистрация: 12-January 10 |
Коллеги, не могу побороть... Проблема в следующем:
Есть задача периодически создавать от oracle-server папки в операционной системе (Windows). Папки называются на русском. Названия бирутся из созданной таблички. Через SQL все названия отображаются корректно. Создаю job типа executable dbms_scheduler.create_job( job_name => 'apex_job1' ,job_action => 'cmd /q /c mkdir '||dir_name ,job_type => 'executable' ,enabled => false ); dbms_scheduler.enable('apex_job1'); dir_name - считанное из таблицы поле на русском языке. В Файловоой системе получаю всякую тарабарщину. Подобрать кодировку и перекодировать с помощью convert так и не смог V$NLS_PARAMETERS такие: PARAMETER VALUE 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_CHARACTERSET AL32UTF8 NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE Подскажите, может вообще не там копаю?... |
| dzerjinsky |
Отправлено: Jan 13 2010, 12:42
|
|
Новичок ![]() Группа: Members Сообщений: 3 Пользователь ?: 1911 Регистрация: 12-January 10 |
Всё, поборол бонально....
Вот полный текст процедуры procedure make_directory(p_dirname varchar2) IS pragma autonomous_transaction; begin dbms_scheduler.create_job( job_name => 'apex_job1' ,job_action => 'cmd /q /c mkdir '||convert(v_base_dir||p_dirname||' ','CL8MSWIN1251') ,job_type => 'executable' ,enabled => false ); dbms_scheduler.enable('apex_job1'); end make_directory; Проблема в моей невнимательности... когда смотрел доку по convert перепутал source_code_page и dest_code_page. По привычке слева направо (source - dest), но в convert почему то наоборот. И еще convert почему то последний символ строки режет, по этому пришлось добавить ||' ' И еще... непонятно почему, но в результате получается строка в DOS-кодировке. Мне то как раз это и нужно было, так как объекты файловой системы создаю, но для порядку был бы признателен, если кто пояснит, почему так происходит |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
![]() |
![]() ![]() |
Integrated by Koudanshi v1.4H © 2004 Bulletin Board Module.
Powered by Invision Power Board(U) v1.31 Final © 2003 IPS, Inc.
Powered by Invision Power Board(U) v1.31 Final © 2003 IPS, Inc.







