Странности работы UDF

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
KSV
Сообщения: 5
Зарегистрирован: 07 дек 2005, 16:55

Странности работы UDF

Сообщение KSV » 15 окт 2006, 14:33

Люди, хелп!

Была база Firebird. Возникла необходимость чуток поменять поля базы. Пересоздал базу заново, добавив пару полей. Перестала работать UDF функция (XPATH из XML'ки, ктотрая хранится в BLOB'е).
Борляндовский SQL Explorer пишет Function unknown XPATH.
Самое прикольное что в старой базе UDF работает, и SQL Explorer запрос выполняет, а в новой нет :(

Хорошо. Создал базу точь-в-точь как была старая (этим же скриптом).
В ней UDF тоже не работает.

Что это может быть такое? FAQ читал, по нету искал. Ничего похожего не нашел. Firebird 1.5.3, но старая база была создана более старой версией.

Создаю базу так:

Код: Выделить всё

isql.exe
CREATE DATABASE 'D:\BisInf.gdb' USER 'xxx' PASSWORD 'xxx';
CREATE TABLE ...
CREATE TABLE Companies (CompanyID integer not null primary key, XML BLOB);
CREATE TABLE ...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 окт 2006, 20:17

Самое прикольное что в старой базе UDF работает, и SQL Explorer запрос выполняет, а в новой нет
В ней UDF тоже не работает.
КОГДА НАУЧИМСЯ ПРИВОДИТЬ ТОЧНОЕ СООБЩЕНИЕ ОБ ОШИБКЕ???

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: Странности работы UDF

Сообщение stix-s » 16 окт 2006, 05:56

KSV писал(а): Борляндовский SQL Explorer пишет Function unknown XPATH.
Функция в новой базе прописана?

Код: Выделить всё

DECLARE EXTERNAL FUNCTION MY_F
    CSTRING(32767)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'MY_F' MODULE_NAME 'my_udf'

KSV
Сообщения: 5
Зарегистрирован: 07 дек 2005, 16:55

Re: Странности работы UDF

Сообщение KSV » 16 окт 2006, 18:25

stix-s писал(а): Функция в новой базе прописана?

Код: Выделить всё

DECLARE EXTERNAL FUNCTION MY_F
    CSTRING(32767)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'MY_F' MODULE_NAME 'my_udf'
Огромное спасибо!!!
Забыл, дурья моя башка :(

Теперь все работает ;)

Ответить