Firebird sql 更新命令在 delphi 中不起作用
Firebird sql update command not working in delphi
我正在尝试使用 Delphi - RAD Studio X5 进行 firebird 数据库管理,但每次执行此命令时都会出现问题:
update ESTOQUE set QTD='700' where CODIGO='1'
我收到这条消息:
"[FireDAC][Phys][FB]invalid request BLR at offset 241 function HASHMD5 is not defined unkown error 335544932"
当我 运行 查询命令 (select * from ESTOQUE
) 时,它工作得很好。
我的firebird版本是2.5
我的Windows是8.1和Windows10(两者都有问题)
我在数据库函数中有如下定义:
“
声明外部函数 HASHMD5
CSTRING(32767) 字符集 WIN1252
RETURNS CSTRING(255) 字符集 WIN1252
ENTRY_POINT 'RetornarHashMD5'
MODULE_NAME 'mylibrary_udf';
“
数据库 adm FlameRobin 和 delphi 应用程序都无法读取 mylibrary_udf.dll。我该怎么做?
错误
invalid request BLR
最常发生在存储procedures/triggers不一致的时候。在您的情况下,问题可能是绑定到更新 table 的触发器(因此错误仅在您更新时发生,而不是在您 select 时发生)。因此,检查 table Estoque 并检查 before/after 更新时的触发器,如果有存储过程,检查它是否具有正确的 number/order/type 参数(例如,触发器使用 5 个参数调用存储过程, 但她实际上有 7 个参数)
The error message indicates that your database has a UDF called
HASHMD5
defined (and used in a stored procedure, trigger or computed
field), but the UDF library is not accessible to Firebird.
查看此答案:Invalid request BLR at offset 258 , function HASHMD5 is not defined?
可能 table ESTOQUE
有一个计算字段或触发器 BEFORE/AFTER UPDATE,它使用名为 HASHMD5 的 UDF 来计算哈希值。
我正在尝试使用 Delphi - RAD Studio X5 进行 firebird 数据库管理,但每次执行此命令时都会出现问题:
update ESTOQUE set QTD='700' where CODIGO='1'
我收到这条消息:
"[FireDAC][Phys][FB]invalid request BLR at offset 241 function HASHMD5 is not defined unkown error 335544932"
当我 运行 查询命令 (select * from ESTOQUE
) 时,它工作得很好。
我的firebird版本是2.5
我的Windows是8.1和Windows10(两者都有问题)
我在数据库函数中有如下定义: “ 声明外部函数 HASHMD5 CSTRING(32767) 字符集 WIN1252 RETURNS CSTRING(255) 字符集 WIN1252 ENTRY_POINT 'RetornarHashMD5' MODULE_NAME 'mylibrary_udf'; “
数据库 adm FlameRobin 和 delphi 应用程序都无法读取 mylibrary_udf.dll。我该怎么做?
错误
invalid request BLR
最常发生在存储procedures/triggers不一致的时候。在您的情况下,问题可能是绑定到更新 table 的触发器(因此错误仅在您更新时发生,而不是在您 select 时发生)。因此,检查 table Estoque 并检查 before/after 更新时的触发器,如果有存储过程,检查它是否具有正确的 number/order/type 参数(例如,触发器使用 5 个参数调用存储过程, 但她实际上有 7 个参数)
The error message indicates that your database has a UDF called
HASHMD5
defined (and used in a stored procedure, trigger or computed field), but the UDF library is not accessible to Firebird.
查看此答案:Invalid request BLR at offset 258 , function HASHMD5 is not defined?
可能 table ESTOQUE
有一个计算字段或触发器 BEFORE/AFTER UPDATE,它使用名为 HASHMD5 的 UDF 来计算哈希值。