Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

Использование UDF в SQL запросах Interbase   Найти похожие ветки 

 
Pul   (2003-11-04 15:48) [0]

При попытке выплнения запроса, в котором трижды вызывается UDF функция вылетает ошибка:
Invalid token.
invalid request BLR at offset 254.
Implementation limit exceeded.
block size exceeds implementation restriction.
А если оставить два вызова этой же функции, то все работает нормально.
Предупреждаю сразу, функция работает правильно, в базе задкларирована.
Текст запроса
select * from "CodeList" where
"CodeList"."GrID"=:CLGRID and
anklike("CodeList"."AValue1", :PAR1, 8)=1 and
anklike("CodeList"."AValue3", :PAR3, 8)=1 and
anklike("CodeList"."AValue4", :PAR4, 8)=1
Может кто-то сталкивался с этой проблемой.


 
Johnmen ©   (2003-11-04 16:02) [1]

Самописная функция ?
И как задекларирована ?


 
Pul   (2003-11-04 16:10) [2]

>Johnmen
DECLARE EXTERNAL FUNCTION ANKLIKE
BLOB,
VARCHAR (32000),
INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT "ANKLIKE" MODULE_NAME "ankudf.dll";


 
Fay   (2003-11-04 16:12) [3]

Покажи код


 
Pul   (2003-11-04 16:14) [4]

Уже вроде бы понял, только как исправить не знаю.
При изменении в декларации функции VARCHAR (32000) на VARCHAR (100) запрос работает. Но это не решение проблемы. Мне просто необходимо передавать такие строки.


 
Pul   (2003-11-04 16:15) [5]

> Fay
какой именно код?


 
Fay   (2003-11-04 16:17) [6]

UDF


 
Johnmen ©   (2003-11-04 16:19) [7]

CSTRING(32000)


 
Pul   (2003-11-04 16:31) [8]

> Fay
С кодом UDF все в порядке, он работает на 100%
Рассматривать его не имеет смысла. Могу привести заголовок:
function ANKLIKE(B: PBlob; SStr: PChar; Porog: PLongint): Integer; cdecl; export;

>Johnmen
При подобной замене необходимо наверное изменить исходник процедуры и перекомпилить UDF dll. А как CSTRING (32000) передается в Delphi?


 
mOOx_ ©   (2003-11-04 16:37) [9]

Вообще, РТФМ по этому поводу на ибазе.ру. А вкратце, cstrings - это что-то типа ПЧар (если не ошибаюсь :) ).
Удачи.



Страницы: 1 вся ветка

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
1-78883
Developerr
2003-11-13 12:32
2003.11.24
Границы ячейки в F1Book версии 6


14-79149
Сатир
2003-10-31 14:29
2003.11.24
Задача на распределение ресурсов.


14-79183
aVast
2003-10-27 16:50
2003.11.24
Замечательнейшая вещь EhLib!!!


3-78749
Dysan
2003-11-06 11:00
2003.11.24
Как через ADOQuery сделать выборку из таблиц из разных директори?


4-79241
BFG
2003-09-25 14:06
2003.11.24
Копирование ntuser.dat