Изменение диалекта базы данных

Изменение диалекта базы данных

С переключателем -s[qi_diaiect] вы можете изменить диалект! базы данных на родной для Firebird диалект 3. После этого база данных перестает использовать диалект 1 и начинает подчиняться полным синтаксическим правилам SQL Firebird и может использовать все типы данных Firebird.

Но база данных продолжает хранить все существующие данные и определения в соответствии с диалектом 1. Здесь существует несколько ловушек, в особенности в отношении числовых типов с фиксированной точкой.

Короче говоря, изменение диалекта с помощью gfix не будет ни тактикой быстрой миграции, ни надежным способом миграции из диалекта 1 в диалект 3. Быстрое изменение средствами gfix означает медленный способ полной миграции. Опытные пользователи предлагают вместо этого извлечь скрипт схемы вашей базы данных диалекта 1, изменить подходящим образом определения, а затем использовать инструмент перекачки данных для перемещения старых данных в новую базу.

Если же вы все-таки хотите использовать этот способ, вот синтаксис:

gfix -s[ql_dialectj n база-данных

Здесь n равно 1 или 3.

Например, для изменения диалекта базы данных на 3 выполните:

./gfix -s 3 /data/accounts.fdb

Под Windows вы можете выполнить следующее:

gfix -sql_dialect 3 d:dataaccounts.fdb