连接到 Firebird 数据库时出现 BLR 错误
BLR error when connecting to Firebird database
我想通过 FlameRobin 连接本地文件夹中的 Firebird 数据库。我可以连接到除一个以外的所有数据库。我收到此数据库的错误:
invalid request BLR at offset 2801 function GETUSERINFO is not defined
module name or entrypoint could not be found.
我找不到关于此错误的任何资源。这个错误是不是数据库版本不同导致的?
该错误意味着您的数据库有一个使用 UDF(用户定义的函数)的 on connect trigger,并且找不到该库 (Windows: .dll
, Linux: .so
) 加上那个 UDF 的代码。
您需要找出该数据库需要哪个库,并将其安装在正确的位置(默认是 Firebird 安装中的 udf
目录,但可以在 firebird.conf
设置 UdfAccess
).
此错误的另一个原因是使用 Firebird 64 位,而库是 32 位(反之亦然)。您需要确保 Firebird 和库的位数相同。
或者,您可以以 SYSDBA 身份连接到数据库,传递 isc_dpb_no_db_triggers
连接 属性 以禁用该连接的数据库触发器。我不确定您是否可以使用 FlameRobin 做到这一点。
另见
补充一下,虽然这可能不是发帖人遇到的问题,但我在连接到远程服务器时遇到了类似的问题。连接到远程服务器时,语法如下所示:
>gsec -user SYSDBA -password masterke -database <Server>/<Port>:<FDB>
我错误地将 <FDB> 指定为我的数据库的名称,类似于使用 ISQL 时所做的操作。这会导致以下错误:
GSEC> display
invalid request BLR at offset 37
table USERS is not defined
但是只要指定Security2.fdb就没有问题了:
>gsec -user SYSDBA -password masterke -database <Server>/<Port>:Security2.fdb
请注意,当服务器本身上 运行 gsec 时,只需要使用凭据 - 不需要“-database
”选项。
我想通过 FlameRobin 连接本地文件夹中的 Firebird 数据库。我可以连接到除一个以外的所有数据库。我收到此数据库的错误:
invalid request BLR at offset 2801 function GETUSERINFO is not defined module name or entrypoint could not be found.
我找不到关于此错误的任何资源。这个错误是不是数据库版本不同导致的?
该错误意味着您的数据库有一个使用 UDF(用户定义的函数)的 on connect trigger,并且找不到该库 (Windows: .dll
, Linux: .so
) 加上那个 UDF 的代码。
您需要找出该数据库需要哪个库,并将其安装在正确的位置(默认是 Firebird 安装中的 udf
目录,但可以在 firebird.conf
设置 UdfAccess
).
此错误的另一个原因是使用 Firebird 64 位,而库是 32 位(反之亦然)。您需要确保 Firebird 和库的位数相同。
或者,您可以以 SYSDBA 身份连接到数据库,传递 isc_dpb_no_db_triggers
连接 属性 以禁用该连接的数据库触发器。我不确定您是否可以使用 FlameRobin 做到这一点。
另见
补充一下,虽然这可能不是发帖人遇到的问题,但我在连接到远程服务器时遇到了类似的问题。连接到远程服务器时,语法如下所示:
>gsec -user SYSDBA -password masterke -database <Server>/<Port>:<FDB>
我错误地将 <FDB> 指定为我的数据库的名称,类似于使用 ISQL 时所做的操作。这会导致以下错误:
GSEC> display
invalid request BLR at offset 37
table USERS is not defined
但是只要指定Security2.fdb就没有问题了:
>gsec -user SYSDBA -password masterke -database <Server>/<Port>:Security2.fdb
请注意,当服务器本身上 运行 gsec 时,只需要使用凭据 - 不需要“-database
”选项。