Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FireBird и UDF... Проблемы? [IB6.x]


sdn ©   (2002-01-30 11:34:00) 

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

Описание проблемы:
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-02-01 07:15:00) [1]

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


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

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


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо