[firebase-br] Problema com SQL - SQL error code = -804
Pedro Braga
bragaped em gmail.com
Qui Nov 29 09:44:41 -03 2012
Bom Dia, estou enfrentando um problema que consiste na seguinte situação ao
executar a SQL abaixo pelo IBExpert o mesmo executa com perfeição contudo
ao executar a mesma pelo IBDataSet ou IBQuery no delphi gerar o erro abaixo
SQL
select p.* from PRODUTOS p
where p.cod_empresa = :cod_empresa and p.situacao='A'
and ( ((p.descricao like '%'|| :parametro || '%' ) or
(p.cod_barras = substring( :parametro from 1 for 20)) or (p.cod_interno =
substring( :parametro from 1 for 20)) )
or exists( select gp.cod_prod from grade_prod gp where gp.cod_prod =
p.cod_produto and gp.situacao='A' and gp.cod_empresa=:cod_empresa and
((gp.cod_interno = substring( :parametro from 1 for 20)) or (gp.cod_barras
= substring( :parametro from 1 for 20)) or
(gp.referencia = substring( :parametro from 1 for 20))) )
or exists( select cb.cod_prod from cod_barras cb where cb.cod_prod =
p.cod_produto and cb.cod_empresa=:cod_empresa and
(cb.cod_barras = substring( :parametro from 1 for 20)) ) )
order by p.descricao
Erro
raised exception class EIBInterBaseError with message 'Dynamic SQL Error
SQL error code = -804
Incorrect values within SQLDA structure'.
já procurei sobre o erro porem não achei nenhuma solução em tentativa de
solucionar o problema fui alterando o SQL e ao altear os blocos co EXISTS a
mesma roda normalmente contudo preciso executar com o EXISTS e se fosse
problema de SQL o IBExpert não rodava a SQL utilizo Delphi 2010 com
componentes da aba Interbase Firebird 2.1 ou 2.5
Mais detalhes sobre a lista de discussão lista