[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