[firebase-br] Erro declarando udf no Interbase
Jeferson Oliveira
jefersonfoliveira em gmail.com
Ter Maio 16 08:32:20 -03 2006
Rafael,
A função deve ser declarada exatamente como demonstrado na documentação da
DLL, que no meu caso (Firebird 1.5.0.4306) é
DECLARE EXTERNAL FUNCTION substr
CSTRING(80),
SMALLINT, SMALLINT
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';
Note que em relação à declaração que você passou há duas diferenças
importantes: o limite de caracteres permitido no primeiro parâmetro, e o
ponto de entrada da função no módulo.
Abraço!
Jeferson Oliveira
"Luiz Henrique Severo"
<lhsevero em rpgsolucoes.com.br> escreveu na
mensagem news:31149.2171757438$1147731356 em news.gmane.org...
Pessoal,
Estou tentando definir a função SUBSTR que vem com a ib_udf.dll mas não
estou conseguindo.
Fiz direto pelo IBExpert na área de udfs, não funcionou...
Apaguei e rodei o script abaixo para tentar criar "na mão", não funcionou...
DECLARE EXTERNAL FUNCTION SUBSTR
CSTRING(256) CHARACTER SET NONE,
SMALLINT,
SMALLINT
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT 'fn_substr' MODULE_NAME 'ib_udf'
O erro que retorna toda vez que tento executar algo do tipo SELECT
SUBSTR(LIVRO,1,1) FROM LIVROS é o que segue abaixo
Invalid token.
invalid request BLR at offset 63.
function SUBSTR is not defined.
module name or entrypoint could not be found.
A dll está no diretório default do Interbase. Já tentei colocá-la no
diretório que está o gdb e nada também...
No ibconfig tem a diretriz que diz qual o diretório de external functions.
Alguém sabe o que está faltando ou o que estou fazendo de errado?
Luiz Henrique Severo d Oliveira
RPG Soluções
www.rpgsolucoes.com.br
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.6/340 - Release Date: 15/05/2006
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista