我想通过FlameRobin在本地文件夹上连接Firebird数据库。我可以连接到除一个数据库以外的所有数据库。我为此数据库收到此错误:
在偏移2801函数GETUSERINFO上的无效请求BLR未定义 找不到模块名称或入口点。
我找不到此错误的任何资源。此错误是由数据库版本差异引起的吗?
答案 0 :(得分:2)
该错误表示您的数据库有一个使用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做到这一点。
另请参阅Invalid token - invalid request BLR at offset 340 function F_LRTRIM is not defined
答案 1 :(得分:0)
要补充一点,虽然这可能不是发布者遇到的问题,但连接到远程服务器时我遇到了类似的问题。连接到远程服务器时,语法如下:
>gsec -user SYSDBA -password masterke -database <Server>/<Port>:<FDB>
我在其中错误地将<< em> 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
'选项。