• Авторизация


UDF в InterBase 5.x 17-02-2008 13:50 к комментариям - к полной версии - понравилось!


Хотел бы изложить здесь проблему, с которой столкнулись совсем недавно. Так-то у нас большинство проектов на FireBird 2.03, но тут вдруг возникла необходимость написать под InterBase 5.x. Делаем UDF, подключаем, получаем ошибку "Invalid request to blr offset at ..." в общем-то стандартная ошибка, когда бибилотека лежит не там, например для FireBird должна лежать в папке UDF, а для InterBase 5.x - в папке bin, или точка вызова не совпадает. Все перебрали, все правильно, но тем не менее не работает.

Оказывает такое еще может быть когда регистр точек вызова не совпадает, вот оно что. Т.е. даже ключевое слово name - четкого указания как называется точка вызова не дает. Исправиви в БД наимнования точек вызова в соответствии с регистром, как процедуры и функции называются непосредственно в коде библиотеки, избавились от проблемы.

Вот такое вот еще одно решение данной проблемы.

вверх^ к полной версии понравилось! в evernote
Комментарии (1):
Бляндер 27-02-2008-21:31 удалить
Должен признаться что изложенной решение возникшей проблемы не до конца ее разрешает. Очень важной составляющей оказалось правльное выделение памяти в библиотеке. Мы, согласно техническому описанию, использовали фунцию ib_util_maloc из библиотеки ib_util. К сожалению, IB 5.х почему-то не всегда нормально ее подхватывает. Заменив фунцию ib_util_maloc на straloc (все вышесказанное крайне актуально для строковых переменных) избавляемся от описанной проблемы


Комментарии (1): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник UDF в InterBase 5.x | Бляндер - Ничто на свете не проходит бесследно... | Лента друзей Бляндер / Полная версия Добавить в друзья Страницы: раньше»