【发布时间】:2015-08-24 12:10:08
【问题描述】:
我对 Firebird 完全陌生;我得到了一个 Firebird 2.5 数据库(由我们的客户提供) - XYZ.fdb
我已经在 IB Expert 中注册了这个 XYZ.fdb 数据库。
我能够成功运行一些视图和存储过程。但是对于其他一些视图或存储过程,我收到以下错误:
无法格式化消息 13:896 - 未找到消息文件 C:Windows\firebird.msg; 偏移量 623 处的无效请求 BLR;函数 LTRIM 未定义;找不到模块名称或入口点;解析过程 XXXXXXX (stored_procedure name) 时出错;
错误信息:
模块“IBExpert.exe”中地址 00DCA0E5 的访问冲突。读取地址 00000000。
上周运行良好;我曾尝试重新启动系统,并一遍又一遍地安装 Firebird 和 IB Expert;一些存储过程和视图出现上述错误,但其他视图和存储过程工作正常。
由于我上周没有遇到此问题,并且在此期间我重新安装了 Firebird 和 IB Expert 几次,我认为它有一些配置或注册问题。
您能否为我提供解决此问题的分步方法 - 以便我可以使用 IB Expert 访问 Firebird DB 中的所有数据库对象?
【问题讨论】:
-
ltrim是 UDF,而不是内置函数。您需要确保 Firebird 配置可以访问并允许 UDF 库。访问冲突很可能是 IBExpert 中的错误。 -
验证文件
ib_udf.dll位于文件夹..\Firebird\Firebird_2_5\UDF中 -
我在 32 位客户端(在 Program Files (x86) 中)和 64 位客户端(在 Program Files 中)都有 ib_udf.dll - 在 UDF 文件夹中
-
当我打开 IBExpert 时,我得到这个:IBExpert 目前使用 IBExpert.stg (C:Users\....\AppData\Roaming\HK-Software\IBExpert\IBExpert.stg) 作为主要存储其数据。这种方式现在已经过时了,以后也不支持了。相反,我们强烈建议在选项|环境选项|中设置 IBExpert 用户数据库用户数据库。
-
IBExpert.stg是IBExpert默认保存数据的数据库。您可以设置自己的 firebird 数据库。但这不是您的问题的原因。检查firebird.conf文件中的这一行:#UdfAccess = Restrict UDF- 前面必须有 # simbol。
标签: parsing format firebird access-violation ibexpert