Настройка системы для сортировки с учётом национального алфавита Назад В начало Вперед

СУБД Oracle сортирует строки в бинарном порядке, т.е. по коду символов, а не по алфавитному порядку. В частности для русского языка буква "Ё" всегда следует перед любой другой буквой. Символы белорусского и украинского алфавитов, отсутствующие в русском алфавите так же в кодовой таблице всегда следуют перед обычными символами.

Алфавитная сортировка реализована для русского, белорусского и украинского языков.

Поскольку алфавитная сортировка требует бо'льших ресурсов Oracle, её установка может существенно уменьшить производительность работы системы.

Чтобы установить алфавитную сортировку в БД системы Галактика ERP необходимо:

- использовать при работе СУБД Oracle версии не младше 9i;

- иметь экземпляр базы данных СУБД в кодировке CL8MSWIN1251;

- создать БД с алфавитной сортировкой инсталлятором ora9inst.exe или модифицировать существующую БД с помощью утилиты проверки БД chkora9.exe.

- в поле Выберите кодировку создаваемой базы данных инсталлятора БД (см. п. Установка базы данных) при установке базы данных выбрать требуемое значение языка ввода.

Установка БД с алфавитной сортировкой.

При инсталляции БД необходимо:

- в поле Выберите кодировку создаваемой базы данных инсталлятора БД (см. п. Установка базы данных) при установке базы данных выбрать требуемое значение языка ввода

- установить соответствующий флаг в окне =Конфигурация создаваемой базы данных= (см. п. Установка базы данных).

Модификация существующей БД с помощью утилиты проверки БД.

Для установки алфавитной сортировки необходимо:

1) Внешними средствами выполнить запрос:

update <db>.x$files set xf$flags=xf$flags+16 where xf$code=0;
commit;

2) Затем запустить проверку всех таблиц БД в режиме исправления путем запуска утилиты проверки БД, задав в cfg-файле утилиты параметры ChkBase.StoredProcs=on и ChkBase.Indexes=on.

Остальные параметры секции [ChkBase] должны иметь значение Off.

Если при установке БД не выбирался язык ввода, то перед началом работы с системой в файле atlantis.cfg (при необходимости создать) нужно задать параметр:

Atlantis.NLS.Page = "bel"; // или "ukr";

Для восстановления обычного порядка сортировки (бинарного) необходимо:

1) Внешними средствами выполнить запрос

update <db>.x$files set xf$flags=bitand(xf$flags,65519) where xf$code=0;
commit;

2) Затем запустить проверку таблиц БД в режиме исправления, задав в cfg-файле

утилиты параметр ChkBase.Indexes=on. Остальные параметры секции [ChkBase] должны иметь значение Off.

Порядок работы с утилитой проверки БД рассмотрен в документе "Средство разработки Атлантис. Инструменты и утилиты", издание 04.2007 и выше.

Пример cfg-файла утилиты проверки БД chkora9.exe:

[ChkBase]
Out=.\
StoredProcs=on
UsersAndRights=off
Compile=off
Memo=off
Journal=off
Fields=off
Indexes=on
Triggers=off
//Tables=
[DataBase]
DatabaseName=gal	// имя схемы БД
DataBaseDriver=ORA90DRV.DLL
[Login]
UserName=supervisor
[SQLDriver]
SQLServer=A12		// alias экземпляра БД Oracle
[DictVersion]
Version=52
Sum=-1601339646