Страница 1 из 1

Pervasive.SQL 8 и сортировка

Добавлено: 19 янв 2004, 14:11
nickanor
Добрый день!
Возникла проблема при обращении к базам Pervasive через ODBC
Продукт: Pervasive.SQL v8.0 Build 114 Patch 0
на Win 2000 Server SP4
Не работает при запросе SELECT из Pervasive Database Manager:
- сортировка русских слов (простое ORDER BY)
- функция LCASE
Системный аккаунт установлен в русскую локаль
В реестре нашел Pervasive.CharCodes.CP932
Будьте добры, объясните:
- как настроить Pervasive для того, чтобы эти функции (главное - сортировка) работали правильно
- решатся ли проблемы с установкой Service Pack к Pervasive?
Если этот вопрос где-то дискутировался, звиняйте - ткните в ссылку, пожалуйста
Заранее благодарен,
Николай

Нашел... ORDER BY .... COLLATE 'C:\PVSW\samples\upper.alt'

Добавлено: 21 янв 2004, 14:44
nickanor
Называется это International sorting rules...
Правда, сортирует с учетом регистра: Вначале А, потом а, потом Б... так что василий оказывается после ВЯЧЕСЛАВа
А UPPER или UCASE работают, видимо, в прежней кодировке...
Так что, тема не закрыта... если кто знает решение - буду благодарен

Re: Нашел... ORDER BY .... COLLATE 'C:\PVSW\samples\upper.al

Добавлено: 23 янв 2004, 12:09
yuri_z
Описание сортировки задается в ключе (в описании БД) Возможно создание индекса с произвольной сортировкой.(сам не делал но upper.alt как бы копируется в заголовок файла и задает порядок сортировки в этой таблице)

Дальнейшие розыски...

Добавлено: 23 янв 2004, 12:25
nickanor
Спасибо, Юрий!
К сожалению (может, к счастью...) в структуру таблиц я не смогу залезть
Дальнейшие розыски привели:
1. Запрос, описанный выше, выполняется "через раз"... вернее, первый раз "с утра" (коллега утверждает, что и после перезагрузки Pervasive Control Center на пользовательском компьютере) возвращает несортированный результат... :(((
2. В продукт заложена возможность задания альтернативных "языков" (ACS) - возможно, и для функций работы со строками, - но для версии на середину прошлого года (8.0 ?) она не поддерживается (соответствующая кнопка "засерена")... :(((