[firebase-br] Erro ao executar UDF
Clayton Alves
clayton.aa em gmail.com
Quinta Maio 12 11:38:52 -03 2022
Escrevi uma UDF em freepascal para fazer a captura de informações em campos
varchar contendo json. Gerei a .dll (fb_json.dll) e coloquei ela na pasta
UDF do firebird.
O problema é que quando tento executar uma chamada a função o firebird
retorna o erro:
SQL> select json_value('{"nome":"clayton"}', 'nome') from rdb$database;
*Statement failed, SQLSTATE = 39000invalid request BLR at offset
39-function JSON_VALUE is not defined-module name or entrypoint could not
be found*
Pesquisando na internet vi algumas postagens relatando sobre esse erro,
porém nenhuma das sugestões resultaram em sucesso.
Já instalei a dll em várias pastas (firebird/bin, system32, firebird/udf).
Já configurei o firebird com "UdfAccess = Full", restartei o serviço e etc.
Tentei inclusive utilizar as UDFs que já vem com o Firebird, porém elas
resultam no mesmo erro.
Testei o carregamento da dll utilizando python e a chamada a função
funciona perfeitamente.
Para declarar a função, utilizei a seguinte instrução:
DECLARE EXTERNAL FUNCTION JSON_VALUE
CString(2048)
RETURNS CString(2048) FREE_IT
ENTRY_POINT 'JSON_VALUE' MODULE_NAME 'fb_json';
Alguém já passou por isso e teria uma idéia de como posso resolver ?
Versão do Firebird = 2.5.8
Versão do Windows = 7
Plataforma 32 bits
DLL compilada para 32 bits.
---
Clayton A. Alves <http://claytonaalves.github.com>
claytonaalves <https://telegram.me/claytonaalves>
+55 66 99233-3406
---
Mais detalhes sobre a lista de discussão lista