4

我尝试为 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 放在与应用程序相同的文件夹中,以及与数据库相同的文件夹中,但无论哪种方式,它似乎都不会加载它。

当我尝试用谷歌搜索寻求帮助时,我得到的所有结果似乎要么通过将它放在服务器的 UDF 文件夹中使其在 FB 服务器上工作(这不适用于我使用 FB Embedded),要么通过编辑 conf 文件来修复 FB 服务器上的权限问题(这不适用,因为我使用的是 FB Embedded)。

那么,如果我使用 FB Embedded,如何确定/配置放置 UDF DLL 的正确位置?

4

1 回答 1

7

我认为默认情况下,Firebird 期望 UDF DLL 位于名为udf. 您可以使用参数通过firebird.conf文件配置 UDF 路径。UdfAccess安装时附带的conf文件有说明如何使用该参数。该README_embedded.txt文件还包含很好的解释如何放置嵌入式服务器文件。

于 2013-02-06T01:38:37.083 回答