Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.23;
Скачать: CL | DM;

Вниз

Необходима помощь с UDF   Найти похожие ветки 

 
Barman ©   (2003-12-25 07:45) [0]

Уважаемые Мастера, прошу вашей помощи!
Есть СУБД Firebird. Есть несколько библиотек UDF. Я написал библиотеку, объединив все необходимые мне функции из нескольких библиотек в одну. Попытался поменять в базе данных название библиотеки с “udf 1” на “udf 2” и название точки входа с “Entry Point1” на “ Entry Point2”. При компиляции функции выскакивает такая ошибка:

This operation is not defined for system tables,
unsuccessful metadata update.
cannot delete
invalid switch ABS
there are 2 dependencies.

Как отключить эти зависимости? Функция используется в 2 процедурах.


 
Digitman ©   (2003-12-25 08:30) [1]

закомментарь на время строчки в этих 2-х процедурах, где идет обращение к UDF, перекомпилируй процедуры, затем измени декларации UDF так чтобы они соответствовали новым названиям файлов библиотек и новым именам точек входа, затем раскомментарь обращения к й-циям в процедурах и вновь перекомпилируй их.


 
Barman ©   (2003-12-25 17:06) [2]

А попроще нельзя никак? Дело в том, что эти процедуры на другие ссылаются...


 
Digitman ©   (2003-12-25 18:18) [3]


> Дело в том, что эти процедуры на другие ссылаются


тебе какое до этого дело ? и пусть ссылаются ! в чем проблема ? две процедуры всего нужно на время изменить и перекомпилить ! а потом на место вернешь прежний их текст


 
Barman ©   (2003-12-25 18:46) [4]

Дак при компиляции эти процедуры тоже ругаются на ссылки на другие процедуры!


 
Digitman ©   (2003-12-26 08:18) [5]

ну что поделаешь. если ты сразу неразумно поступил, с кучей библиотек !

придется последовательно отслеживать все зависимости по цепочке и делать вышеупомянутое для каждой из процедур ..

впрочем, если данных и метаданных в БД не так уж много, можно поступить иначе : средствами, нампример, IBExpert выгрузить структуру и данные базы в текстовый скрипт, подправить в нем нужные ссылки, а запустить скрипт на исполнение, чтобы создать базу заново


 
Desdechado ©   (2003-12-26 16:15) [6]

не очень легальный способ, но все же
UPDATE rdb$function_arguments SET rdb$field_length = 512
WHERE rdb$function_name = "INZONE" AND rdb$argument_position = 1
аналогично и для RDB$FUNCTIONS (только соблюдай регистр символов)



Страницы: 1 вся ветка

Текущий архив: 2004.01.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
4-72973
Closer
2003-11-17 19:41
2004.01.23
Проблема с CreateProcess или глюк Delphi 5


1-72728
Unknown
2004-01-11 20:56
2004.01.23
Messages


8-72845
Sergiy
2003-09-20 01:25
2004.01.23
Multimedia в Delphi


4-72981
Dimaxx
2003-11-15 13:30
2004.01.23
DeviceIOControl + IOCTL_Disk_Format_Tracks_Ex


4-72988
Shluz
2003-11-17 20:45
2004.01.23
ScreenShot отдельного региона экрана