Переход с Yaffil на Firebird 2.0.x

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
(не показаны 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
Основная проблема при миграции базу с сервера [[Yaffil]] на Firebird 2.0.х -- это отсутствие в последнем встроенных функций BIN_AND и BIN_OR, широко используемых в триггерах и хранимых процедурах базы данных Гедымина.
+
'''См. [[Переход на Firebird 2.5]].'''
 +
 
 +
<toggledisplay showtext="Остальная часть материала теперь уже устарела." hidetext="Скрыть">
 +
Основная проблема при миграции базы с сервера [[Yaffil]] на [[Firebird]] 2.0.х -- это отсутствие в последнем встроенных функций '''BIN_AND''' и '''BIN_OR''', широко используемых в триггерах и хранимых процедурах базы данных Гедымина.
  
 
Для перехода в ручном режиме вам понадобится свежая установка сервера [http://firebirdsql.org/index.php?op=files&id=engine Firebird 2.0.x] и утилита [http://ibexpert.net/ibe/index.php?n=Main.TrialVersion IBExpert].
 
Для перехода в ручном режиме вам понадобится свежая установка сервера [http://firebirdsql.org/index.php?op=files&id=engine Firebird 2.0.x] и утилита [http://ibexpert.net/ibe/index.php?n=Main.TrialVersion IBExpert].
Строка 8: Строка 11:
 
# Деинсталируем Yaffil. Не забываем сохранить [[gudf.dll]] из подкаталога udf основного каталога размещения сервера Yaffil.
 
# Деинсталируем Yaffil. Не забываем сохранить [[gudf.dll]] из подкаталога udf основного каталога размещения сервера Yaffil.
 
# Устанавливаем и запускаем сервер Firebird 2.0.5 (последняя доступная версия на момент написания статьи).
 
# Устанавливаем и запускаем сервер Firebird 2.0.5 (последняя доступная версия на момент написания статьи).
# Копируем библиотеку gudf.dll в подкаталог udf.
+
# Копируем библиотеку gudf.dll в подкаталог udf сервера Firebird.
# Устанавливаем IBExpert
+
# Устанавливаем IBExpert (если он еще не был установлен)
 
# Подключаемся к существующей базе с помощью IBExpert
 
# Подключаемся к существующей базе с помощью IBExpert
 
# Регистрируем внешние функции с помощью команд:
 
# Регистрируем внешние функции с помощью команд:
Строка 23: Строка 26:
 
  ENTRY_POINT 'IB_UDF_bin_or' MODULE_NAME 'ib_udf'  
 
  ENTRY_POINT 'IB_UDF_bin_or' MODULE_NAME 'ib_udf'  
  
#:8 Не забываем делать COMMIT после каждой команды.
+
# Не забываем делать COMMIT после каждой команды.
# Выполняем команды Перекомпилировать процедуры и Перекомпилировать триггеры.
+
# В дереве объектов базы данных, используя меню по правой нопке мыши, выполняем команды '''Перекомпилировать процедуры''' и '''Перекомпилировать триггеры'''.
# Если в процессе перекомпиляции позникают ошибки, то вносим исправления в исходный код и повторно запускаем перекомпиляцию.
+
# Если в процессе перекомпиляции позникают ошибки, то вносим исправления в исходный код с помощью команд '''ALTER TRIGGER''' или '''ALTER PROCEDURE''' и повторно запускаем перекомпиляцию. Если вы не знаете как исправить ошибочный код триггера или процедуры, то временно можно закоментировать все команды между первым '''BEGIN''' и последним '''END'''. После окончания процесса миграции не забудьте вернуться, раскоментировать код и исправить все ошибки.
# Делаем архивную копию и восстанавливаем базу из архива.
+
# Делаем архивную копию и восстанавливаем базу из архива. ВНИМАНИЕ! При восстановлении БД с установленным флагом Commit after each table могут возникать ошибки. В этом случае следует снять указанный флаг и повторить процедуру восстановления базы из архивной копии.
  
С сервеной частью все. Остается на клиентских машинах:
+
С серверной частью все. Остается на клиентских машинах:
  
 
# Найти все файлы gds32.dll и удалить их.
 
# Найти все файлы gds32.dll и удалить их.
Строка 34: Строка 37:
  
 
Запускаем. Проверяем работу.
 
Запускаем. Проверяем работу.
 +
</toggledisplay>
 +
 +
[[Category:Школа системного администратора]]

Текущая версия на 17:40, 9 апреля 2010

См. Переход на Firebird 2.5.

UNIQ52759b897fc07b85-toggledisplay-00000000-QINU

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты