Ув. форумчане!
При формировании некоторых отчетов возникает ошибка:
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.
Может кто сталкивался с такой проблемой?
Цитата: 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 (http://www.softbalance.com.ua/forum/index.php/topic,3355.msg20625.html#msg20625)
PS: в след. версиях будем отказываться от UDF т.к. эти функции уже есть штатно в Firebird 2.5.
Цитата: admin від Квітень 01, 2016, 12:22:02
Firebird не может достучаться до файла libtbudf.so, либо он не в той папке где его ищет Firebird, либо у Firebird нет прав доступа к этому файлу:
http://www.softbalance.com.ua/forum/index.php/topic,3355.msg20625.html#msg20625 (http://www.softbalance.com.ua/forum/index.php/topic,3355.msg20625.html#msg20625)
Спасибо за ответ. По документации Firebird-а библиотеки UDF находятся в <InstallDir>/UDF. В моем случае это /opt/firebird/UDF.
Положил libtbudf.so в эту папку. Права доступа есть.
Но проблема не решилась...
Новая библиотека автоматически регистрируется firerbird-ом или надо указывать ее?
Цитата: poly від Квітень 01, 2016, 14:18:38
Спасибо за ответ. По документации Firebird-а библиотеки UDF находятся в <InstallDir>/UDF. В моем случае это /opt/firebird/UDF.
Положил libtbudf.so в эту папку. Права доступа есть.
Но проблема не решилась...
Новая библиотека автоматически регистрируется firerbird-ом или надо указывать ее?
Регистрировать не надо, просто ищется файл в папке <InstallDir>/UDF. Проблем кроме "нет файла где его ищет Firebird", не было, а это и права доступа, а мы говорим не о ваших правах, а о правах Firebird доступа к libtbudf.so, или банальные проблемы с регистром.
Цитата: admin від Квітень 01, 2016, 14:26:37
Регистрировать не надо, просто ищется файл в папке <InstallDir>/UDF. Проблем кроме "нет файла где его ищет Firebird", не было, а это и права доступа, а мы говорим не о ваших правах, а о правах Firebird доступа к libtbudf.so, или банальные проблемы с регистром.
Регистр нормальный, права на доступ дал полные. Буду искать дальше.
Спасибо еще раз.
Цитата: poly від Квітень 01, 2016, 14:31:38
Регистр нормальный, права на доступ дал полные. Буду искать дальше.
Спасибо еще раз.
Для Windows это легко вылавливается программами вроде filemon, если есть для Linux, то думаю будет легче найти причину. Также просмотрите firebird.log может там есть что. Да кстати надеюсь Firebird не x64, т.к. библиотека x32?
Цитата: admin від Квітень 01, 2016, 14:57:10
Да кстати надеюсь Firebird не x64, т.к. библиотека x32?
Как раз x64
После установки x86 ситуация не изменилась. Не может найти функцию.
В логах ошибок нет.
Также пробовал менять значение UdfAccess в firebird.conf на
Restrict UDF;/opt/firebird/UDF;
Все равно не то.
После удаления firebird-superclassic и установки firebird superserver наконец-то все заработало.