Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonardo_Iron

Aos expert em firebird + delphi

Recommended Posts

Boa tarde galera, bom ontem perdi meu dia de trabalho com um problema dakeles muito sinistro. Vamos la, eu tenho um sistema em delphi + firebird. Em determinado momento quando eu executo uma query o sistema trava. Em alguns computadores em funciona normalmente não travando de jeito nenhum; em outros computadores tem hora que ele consulta e tem hora que ele trava, e na minoria dos computadores (ate agora só no laptop do chefe..rsss) ele trava toda hora não chegando a executar nenhuma vez. Tentei substiuir a gds32 e a fbclient dos computadores que funcionaram nos que não estavam funcionando e nada, instalei o firebird de novo nas makinas e nada, tentei de tudo. Procurei tudo que podia na net e também nada. Testando o select no ibexpert ele funciona normalmente. O que mais me chamou a atenção foi porque em certas makinas ele funciona e outras não ja que todas possuem a mesma versão do banco de dados. Segue aí o maldito sql que herdei de do antigo programador aki da empresa.

 

select

cast(t.data_hora as time) HORA_CHEGADA

, t.f1 CODIGO_CLIENTE

, t.NOME_CLIENTE

, a.HORA_INICIAL

, coalesce(a.codigo_servico, a.codigo_pacote) CODIGO_TRATAMENTO

, coalesce(a.nome_servico, a.nome_pacote) TRATAMENTO

, coalesce(a.codigo_pacote, 'Sim') E_UM_SERVICO

, t.DATA_HORA

, cast(c.DATA_DE_CADASTRO as date) DATA_DE_CADASTRO

, cast(c.nascimento as date) DATA_NASCIMENTO

, cast(a.data_operacao as date) DATA_OPERACAO

, cast(t.data_hora as date) DATA_AGENDA

, t.F6

, t.F7

, t.F10

, a.CODIGO_PROFISSIONAL

, a.NOME_PROFISSIONAL

, a.TEXTO_ITEM

, ( select case

when(coalesce(sum(cce.creditos_total), 0) - coalesce(sum(cce.creditos_usados), 0) < 0)

then 0

else coalesce(sum(cce.creditos_total), 0) - coalesce(sum(cce.creditos_usados), 0)

end

from

clientes c

join

vendas v

on c.codigo = t.f1 and v.tipo is null and v.cancelado is null and c.codigo = v.codigo_cliente

join

vendas_itens vi

on vi.tipo_pedido = 'Pacote' and vi.tipo is null and vi.item_cancelado = 'Não' and vi.codigo = v.codigo

left join

clientes_creditos_estetica cce

on vi.codigo_pacote_compra = cce.codigo_compra

) sessoes_restantes

,( SELECT count(*)

FROM

vendas v

join

vendas_pagamento vp

on v.CODIGO_cliente = t.f1 and vp.quitado = 'Não' and vp.anulado is null and VP.CODIGO = V.CODIGO

join

FORMAS_PAGAMENTO fpg

on fpg.centro_custos = '01.001.005' and fpg.codigo = vp.forma_pagamento

) pendencia

from

terminais_registros t

join

agenda a

on

a.codigo_profissional = :profissional

and a.data_agendamento = :data

and t.programa = 6

and a.tipo_agendamento <> 'Bloqueio'

and case

when (:status = 0) then coalesce(nullif(t.f6, '0'), '1')

when (:status = 1) then

case when(nullif(t.f6, '0') is not null and nullif(t.f7, '0') is null) then '1' else '0' end

when (:status = 2) then

case when(nullif(t.f6, '0') is not null and nullif(t.f7, '0') is not null) then '1' else '0' end

else '0'

end = '1'

and cast(t.data_hora as date) = :data

and a.codigo_cliente = t.f1

left join

clientes c

on c.codigo = t.f1

 

Galera quem puder ajudar agradeço mesmo, o problema ta chapa quente!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.