Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

FireBird и UDF... Проблемы? 


sdn   (2002-01-30 11:34) [0]

Доброго времени суток, уважаемые!

Описание проблемы:
Firebird версии 1.0.0.706 (в общем, последний на 25 января 2002 update к RC2).
В скрипте делаю объявление UDF
DECLARE EXTERNAL FUNCTION GetFullName
CSTRING(100),
CSTRING(6),
CSTRING(55),
CSTRING(55),
CSTRING(55),
CSTRING(6)
RETURNS CSTRING(170) ENTRY_POINT "GenerateFormattedName" MODULE_NAME "IBUDFLib.dll";

При построении базы это проходит (Ok).

Использую эту UDF...

ALTER TABLE CHIEFS ADD CH_FULL_NAME COMPUTED BY (GETFULLNAME("\\ \P\\ \F\\ \M\\\L\, \\S", CH_NAME_PREFIX, CH_NAME, CH_MIDDLE_NAME, CH_LAST_NAME, CH_NAME_SUFFIX));
И вот тут ошибка (Invalid token. Invalid request BLR at offest 2. Function GETFULLNAME is not defined, module name or entrypoint could not be found).

Вопрос: Почему? В чём проблема, собственно?

P.S.
IBUDFLib.dll - располагаю и в каталоге FireBird\Bin и в Windows\System32 (Windows\System) всё едино.
IBUDFLib.dll - писал сам (Delphi 6),.. хотя... какая разница...
На IB 5.6 такое проходит на ура...

С наилучшими пожеланиями,
Дмитрий
ICQ: 58245670
Odigo: 6549174



Alexandr   (2002-01-30 11:56) [1]

надо в Firebird/UDF положить.
А эта твоя UDF другие dll не использует? А если использует, то видит ли она их?



sdn   (2002-01-31 10:06) [2]

>> Alexandr
Нет, другие dll не используются... там полная реализация функции...
Про Firebird\UDF... Ok... попробую... это хорошая мысль Ж-) Результат опубликую.



Alexandr   (2002-01-31 10:25) [3]

да-да.
написамо же что UDF должны быть в каталоге UDF



sdn   (2002-01-31 15:03) [4]

>> Alexandr
Is`t WORKING !!! Всё, спасибо огромное. Нужно размещать dll с UDF в каталоге FireBird\UDF. Всё круто.



Alexandr   (2002-02-01 07:15) [5]

дык ты еще на этот каталог права на доступ дай только для FB,
чтоб нехорошии люди твои dll не перезаписали, новых не записали, хакингом не занимались- это просто сделали возможность для закрытия дыры- от хакеров, которые записывали свою dll, потом вызывали ее из SQL - и доступ к серваку получали.
Вот оно как... и для чего




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.03 c
1-79311           Yaro                  2002-02-07 11:59  2002.02.25  
Установка обработчика событий


1-79371           Aleksandr             2002-02-08 19:23  2002.02.25  
Как из программы узнать формат строки с датой/временем для SQL-сервера


6-79418           [TLS]Lord             2001-12-05 09:31  2002.02.25  
Что значит ошибка:


1-79309           Андре                 2002-02-07 15:27  2002.02.25  
Компоненты


3-79294           Максимка              2002-01-28 21:35  2002.02.25  
Как лучше всего автонумеровать добавляемые записи?