Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Вниз

Необходима помощь с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
14-72877
Sergey13
2004-01-04 10:25
2004.01.23
Законы Мерфи для программистов


1-72701
fame
2004-01-14 11:41
2004.01.23
Исчезают компоненты типа BitBtn!?


6-72849
Almax
2003-11-21 01:04
2004.01.23
Структура IP-пакета.


14-72882
Nomolos
2004-01-02 17:25
2004.01.23
Кто блин украл мой ник????


7-72957
СержК
2003-11-06 11:51
2004.01.23
Как узнать пользователя





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский