Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как заставить Interbase принять COLLATE PXW_CYRL по умолчанию

Delphi , Базы данных , Interbase

Как заставить Interbase принять COLLATE PXW_CYRL по умолчанию

Автор: Nomadic

(Это очень полезно при прямой работе с IB из различного CASE-инструментария, типа PowerDesigner или ErWIN)

Чтобы не писать каждый раз COLLATE, я сделал следующее:

  1. Создал сохранённую процедуру
    create procedure fix_character_sets
    as
    begin
    update
    rdb$character_sets
    set
    rdb$default_collate_name = 'PXW_CYRL'
    where
    rdb$character_set_name = 'WIN1251'
    and
    rdb$default_collate_name = 'WIN1251'
    ;
    end
  2. Запустил ее один раз.

  3. Создаю таблицы без указания COLLATE.

  4. После восстановления из архива, запускаю еще раз.

Что отличное вопрос! Чтобы Interbase использовал по умолчанию.collate PXW_CYRL-коллацию, компания Nomadic создала хранимую процедуру fix_character_sets, которая обновляет таблицу rdb$character_sets для установки имени по умолчанию для коллации для символьной таблицы 'WIN1251' в 'PXW_CYRL'.

Вот, что код делает: 1. Процедура начинает с обновления таблицы rdb$character_sets. 2. Она устанавливает значение поля rdb$default_collate_name в 'PXW_CYRL' для строк, где: * поле rdb$character_set_name равно 'WIN1251', и * поле rdb$default_collate_name сейчас установлено в 'WIN1251'. 3. Процедура заканчивается с помощью ключевого слова end.

Проведя эту хранимую процедуру один раз, Nomadic фактически изменила по умолчанию коллацию для символьной таблицы 'WIN1251' в 'PXW_CYRL'. Это означает, что при создании таблиц без указания коллации Interbase будет использовать COLLATE PXW_CYRL по умолчанию.

После восстановления из архива выполнение этой процедуры снова обеспечивает, что коллация по умолчанию установлена правильно.

Эта решена особенно полезна при работе с Interbase из различных инструментов CASE, таких как PowerDesigner или ErWIN, где указание коллации каждый раз может быть скучным. Установка коллации по умолчанию один раз Nomadic упрощает свой workflow и уменьшает необходимость вручной интервенции.

Благодарим Nomadic за поделись этой блестящей решением!

Автор статьи Nomadic предложил создать сохранённую процедуру для установкиCOLLATE PXW_CYRL по умолчанию в Interbase, что позволяет не писать каждый раз COLLATE при создании таблиц.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Interbase ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 16:59:09/0.0050609111785889/1