• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Ошибка UDF_ROUNDTO на linux

Автор poly, Квітень 01, 2016, 10:23:34

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

poly

Ув. форумчане!

При формировании некоторых отчетов возникает ошибка:

DataM.QueryRep.SelectQuery:
Invalid token
Invalid request BLR at offset 805.
Function UDF_ROUNDTO is not defined.
Module name or entrypoint could not be found.


Firebird сервер запущен на CentOS 6.7.
Уставновлен firebird-superclassic 2.5
Библитеку libtbudf.so положил в /usr/lib/firebird/udf/libtbudf.so.

На форуме есть пост по данной ошибке, но версия сервера была для windows.

Может кто сталкивался с такой проблемой?

admin

Цитата: poly від Квітень 01, 2016, 10:23:34
Module name or entrypoint could not be found.[/size]

Firebird не может достучаться до файла libtbudf.so, либо он не в той папке где его ищет Firebird, либо у Firebird нет прав доступа к этому файлу:
http://www.softbalance.com.ua/forum/index.php/topic,3355.msg20625.html#msg20625

PS: в след. версиях будем отказываться от UDF т.к. эти функции уже есть штатно в Firebird 2.5.

poly

#2
Цитата: admin від Квітень 01, 2016, 12:22:02


Firebird не может достучаться до файла libtbudf.so, либо он не в той папке где его ищет Firebird, либо у Firebird нет прав доступа к этому файлу:
http://www.softbalance.com.ua/forum/index.php/topic,3355.msg20625.html#msg20625

Спасибо за ответ. По документации Firebird-а библиотеки UDF находятся в <InstallDir>/UDF. В моем случае это /opt/firebird/UDF.
Положил libtbudf.so в эту папку. Права доступа есть.
Но проблема не решилась...
Новая библиотека автоматически регистрируется firerbird-ом или надо указывать ее?

admin

Цитата: poly від Квітень 01, 2016, 14:18:38
Спасибо за ответ. По документации Firebird-а библиотеки UDF находятся в <InstallDir>/UDF. В моем случае это /opt/firebird/UDF.
Положил libtbudf.so в эту папку. Права доступа есть.
Но проблема не решилась...
Новая библиотека автоматически регистрируется firerbird-ом или надо указывать ее?

Регистрировать не надо, просто ищется файл в папке <InstallDir>/UDF. Проблем кроме "нет файла где его ищет Firebird", не было, а это и права доступа, а мы говорим не о ваших правах, а о правах Firebird  доступа к libtbudf.so, или банальные проблемы с регистром.

poly

Цитата: admin від Квітень 01, 2016, 14:26:37

Регистрировать не надо, просто ищется файл в папке <InstallDir>/UDF. Проблем кроме "нет файла где его ищет Firebird", не было, а это и права доступа, а мы говорим не о ваших правах, а о правах Firebird  доступа к libtbudf.so, или банальные проблемы с регистром.
Регистр нормальный, права на доступ дал полные. Буду искать дальше.
Спасибо еще раз.

admin

Цитата: poly від Квітень 01, 2016, 14:31:38
Регистр нормальный, права на доступ дал полные. Буду искать дальше.
Спасибо еще раз.

Для Windows это легко вылавливается программами вроде filemon, если есть для Linux, то думаю будет легче найти причину. Также просмотрите firebird.log может там есть что. Да кстати надеюсь Firebird не x64, т.к. библиотека x32?

poly

Цитата: admin від Квітень 01, 2016, 14:57:10
Да кстати надеюсь Firebird не x64, т.к. библиотека x32?

Как раз x64

poly

#7
После установки x86 ситуация не изменилась. Не может найти функцию.
В логах ошибок нет.

poly

Также пробовал менять значение UdfAccess в firebird.conf на
Restrict UDF;/opt/firebird/UDF;
Все равно не то.

poly

После удаления firebird-superclassic и установки firebird superserver наконец-то все заработало.