Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.ru

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

UDF (function is not defined) [Firebird]


Цукор5   (05.01.17 17:28

Добрый день.

Пытаюсь подключить UDF, которая цвела и пахла уже лет 10, но на другом ПК. Никак.

Ну, думаю, дай проверю, написав простенькую библиотеку с нуля.
Пишу:

library Littlelib;

uses
 SysUtils,
 Classes;

{$R *.res}

function MyAdd1(var Val:Integer):Integer;cdecl;export;
begin
 Result:=Val+1;
end;

function MyAdd2 (Val:Integer):Integer; cdecl;export;
begin
 Result:=Val+2;
end;

function MyAdd3 (var Val:Integer):PInteger; cdecl; export;
 var  ResultInteger: Integer;
begin
 ResultInteger:=Val+3;
 Result:=@ResultInteger;
end;

exports
MyAdd1, MyAdd2, MyAdd3;

begin
 isMultiThread:=True;
end.


Полученную библиотеку подкинул в папку Firebird\UDF

Регистрирую их в базе:


DECLARE EXTERNAL FUNCTION ADD1
   INTEGER
RETURNS INTEGER
ENTRY_POINT 'MyAdd1' MODULE_NAME 'Littlelib';

//ну и так далее


Запрос:
select add1(id) from table1

Ошибка:
Invalid token.
invalid request BLR at offset 60.
function ADD1 is not defined.
module name or entrypoint could not be found.

На основной библиотеке у меня точно такая же ошибка. Подозреваю, что не видит моей библиотеки (ни новой, ни старой) Firebird. Куда смотреть и что делать?

Спасибо заранее.


Цукор5   (05.01.17 18:42[1]

Вопрос решен.

Помогла правка файла firebird.conf и размещение всех библиотек в отдельном каталоге (C:\MyUDF).

UdfAccess = Restrict C:\MyUDF

Почему не хочет в папке UDF, что в корне самого Firebird? Загадка...


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо