我尝试为Firebird构建UDF。我能够编译DLL并向数据库注册UDF,但我实际上无法运行它。每一次,我都会收到错误:
invalid request BLR at offset 63.
function [FUNCTION_NAME] is not defined.
module name or entrypoint could not be found.
我已经尝试将UDF DLL放在与应用程序相同的文件夹中,并且放在与数据库相同的文件夹中,但无论如何它似乎永远不会加载它。
当我尝试Googling寻求帮助时,我得到的所有结果似乎要么通过将它放在服务器的UDF文件夹中来使它在FB服务器上工作(这不适用于我使用FB嵌入式)或通过编辑conf文件在FB服务器上具有修复权限问题(这不适用于我使用FB Embedded)。
那么,如果我使用FB Embedded,如何确定/配置放置UDF DLL 的正确位置?
答案 0 :(得分:6)
我认为默认情况下,Firebird希望UDF DLL位于名为udf
的子目录(相对于fbembed.dll文件)中。
您可以使用firebird.conf
参数通过UdfAccess
文件配置UDF路径。安装附带的conf文件说明了如何使用该参数。此外,README_embedded.txt
文件还包含有关如何放置嵌入式服务器文件的详细说明。