20.05.2005, 11:18 | #1 |
Участник
|
Axapta 3.0SP3RU под Oracle 9.2.* RDBMS
Всем привет!
1.) Axapta 3.0SP3RU работает под MS SQL 2000 SP3a. Например, в таблице PurchPool можно сохранить в поле "Код" (StringSize = 50) значение из 50 символов на русском языке. 2.) Axapta 3.0SP3RU работает под Oracle 9.2.* RDBMS под UNIX AIX 5.2. Axapta 3.0 Application Server под Win2K SP3 Server. Axapta 3.0 Client под Win2K SP4 Professinal (Oracle Client 10g). Например, в таблице PurchPool можно сохранить в поле "Код" (StringSize = 50) значение ТОЛЬКО из 25 символов на русском языке, т.к. Oracle требует для каждого русского символа StringSize=2. Думаю что эта проблема связана с Unicode, но конкретной формулировки и соответственно пути решения пока не нашел. Что делалось для решения проблемы: В конфигурационной утилите установка галочки "Initialize database for Unicode" и затем запуск синхронизации - не помогает. С уважением, Георгий. |
|
20.05.2005, 12:13 | #2 |
Участник
|
Какая кодировка использована внутри Oracle?
Например, запросить из SQL*Plus: select * from nls_database_parameters where PARAMETER in( 'NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET'); |
|
23.05.2005, 12:09 | #3 |
Участник
|
Вот результат выполнения запроса:
select * from nls_database_parameters where parameter in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET'); PARAMETER VALUE ------------------------------ ------------------------------------------------- NLS_CHARACTERSET AL32UTF8 NLS_NCHAR_CHARACTERSET AL16UTF16 Я так сильно подозреваю, что нужно чтобы было установлено "NLS_CHARACTERSET CL8MSWIN1251" или аналогичная этой кодовая страница для Oracle под UNIX. |
|
23.05.2005, 13:05 | #4 |
Модератор
|
from usp: Да, дело в этом. Попробуйте поменять кодировку хранения.
|
|
27.05.2005, 15:51 | #5 |
Участник
|
Вобщем путем RTFM по Oracle установлено и проверено следующее:
(правда пока под Windows 2000 Professional RUS) У Oracle instance д.б. следующие параметры для правильной работы c Uniсode: NLS_CHARACTERSET AL32UTF8 NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_LENGTH_SEMANTICS CHAR Т.о. в Axapta в поле со StringSize 50 можно будет ввести 50 букв на русском языке и в Oracle эти буквы будут правильно отражаться. |
|
11.01.2006, 11:07 | #6 |
Участник
|
Дело в том, что параметр NLS_CHARACTERSET должен иметь значение CL8MSWIN1251 иначе при сохренении русского символа будет использован байт код, соответственно длина поля будет уменьшена в 2 или 4 раза, в зависимости от кодировки установленной в данный момент.
|
|
24.10.2008, 08:53 | #7 |
MCTS
|
Подниму тему, так как ответ не определен. Все же каким должен быть параметр NLS_CHARACTERSET? AL32UTF8 или CL8MSWIN1251? В руководстве по утсановке оракла рекомендуют первое. Oracle 10g под Windows Server 2003
|
|
24.10.2008, 12:29 | #8 |
MCITP
|
Цитата:
Дело в том, что в исходном вопросе речь шла про 3-ку, где это было важно, потому что все строки аксапта хранила в NLS_CHARACTERSET (поля типа VARCHAR2), соответсвенно, если вам были нужны только русский/английский, то можно было использовать CL8MSWIN1251 и не иметь никаких проблем. Если же речь вести по ДАХ4 и дальше, то там все строки хранятся в NLS_NCHAR_CHARACTERSET кодировке (поля типа NVARCHAR2). И я не совсем догоняю как может NLS_CHARACTERSET в данном случае на что-то влиять? По крайней мере на тех инсталяциях 4-ка+10г, с которыми я имел дело, стоит основная кодировка CL8MSWIN1251 и никаких проблем вроде нет.
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: Logger (1). |
Теги |
ax3.0, оракл |
|
Похожие темы | ||||
Тема | Ответов | |||
Установка Dynamics 4.0 под Oracle | 6 | |||
Проблема с установкой Axapta 2.5+Oracle 8 | 3 | |||
Ускорение выполнения запроса Oracle + MS Axapta | 17 | |||
Oracle и OLAP-Axapta | 18 | |||
Введение в Аксапту | 0 |
|