[firebase-br] FirebirdClassic 64 não funciona com tbduf.so no linux

Sandro Souza escovadordebits em gmail.com
Qui Maio 28 14:55:55 -03 2009


Bom dia/tarde Alex.

Grande Alex, é por isso que o uso de UDFs nem sempre é aconselhado quando se
pensa em multiplataforma.

Só uma sugestão que talvez resolva o seu problema: Calcule a diferença entre
a data atual e o campo CLIENTE.DT_ULT_COMPRA, e converta o resultado em um
valor inteiro, ficando parecido com o seguinte código:

SELECT Cliente.Codigo,Cliente.Razao_Social, Cliente.Nome_Fantasia,

> Cliente.Endereco, Cliente.Bairro,
> Cliente.Cep,Cliente.Telefone,
> Cliente.Fax,Cliente.Vendedor_int,Cliente.Data_Nascimento,
> Cliente.comprador,Cliente.insc_estadual,Cliente.cgc_cpf,
> Cliente.TIPO_PESSOA as Tipo_Pessoa,
> CEP.CIDADE as Nome_Cidade,
> CEP.ESTADO as Nome_Estado,
> (SELECT rep.nome FROM REP WHERE (rep.CODIGO = Cliente.VENDEDOR_INT)) AS
> NOME_VEND_INTERNO,
> (SELECT rep.NOME FROM REP WHERE (rep.CODIGO = Cliente.VENDEDOR_EXT)) AS
> NOME_VEND_EXTERNO,
> CAST((CURRENT_TIMESTAMP - Cliente.Dt_Ult_Compra) AS INTEGER) as Dias,
> Cliente.Dt_Ult_Compra
> FROM CLIENTE
> LEFT OUTER JOIN Cep ON (Cliente.Cep = Cep.Cep)
> where extract(month from Data_Nascimento) ='08'

Order by extract(day from Data_Nascimento)
>

Não sei se o tipo do campo CLIENTE.DT_ULT_COMPRA. Se não for TIMESTAMP,
então tente trocar "CURRENT_TIMESTAMP" por "CURRENT_DATE".

Espero ter ajudado mais que atrapalhado. :D

2009/5/28 Alex Miranda de Oliveira <alexsistemass em gmail.com>

> SELECT Cliente.Codigo,Cliente.Razao_Social, Cliente.Nome_Fantasia,
> Cliente.Endereco, Cliente.Bairro,
> Cliente.Cep,Cliente.Telefone,
> Cliente.Fax,Cliente.Vendedor_int,Cliente.Data_Nascimento,
> Cliente.comprador,Cliente.insc_estadual,Cliente.cgc_cpf,
> Cliente.TIPO_PESSOA as Tipo_Pessoa,
> CEP.CIDADE as Nome_Cidade,
> CEP.ESTADO as Nome_Estado,
> (SELECT rep.nome FROM REP WHERE (rep.CODIGO = Cliente.VENDEDOR_INT)) AS
> NOME_VEND_INTERNO,
> (SELECT rep.NOME FROM REP WHERE (rep.CODIGO = Cliente.VENDEDOR_EXT)) AS
> NOME_VEND_EXTERNO,
> udf_DaysBetween('now',Cliente.Dt_Ult_Compra) as Dias,
> Cliente.Dt_Ult_Compra
> FROM CLIENTE
> LEFT OUTER JOIN Cep ON (Cliente.Cep = Cep.Cep)
> where extract(month from Data_Nascimento) ='08'
> Order by extract(day from Data_Nascimento)
>
> FirebirdClassic 64  não funciona com tbduf.so no linux
>
> Faço este select no banco e apresenta este erro abaixo:
>
> Invalid token.
> invalid request BLR at offset 210.
> function UDF_DAYSBETWEEN is not defined.
> module name or entrypoint could not be found.
>
> a dll esta na pasta certinho /opt/firebird/UDF
>
> so que mesmo assim apresenta esse erro...
>
> Conto com a ajuda de voces...
>
>
> Obrigado ate +
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista