[firebase-br] "key violation"

Wanderson Pereira wpereira em ami.com.br
Qua Out 15 17:06:34 -03 2008


    Anticlei,
Tive prob desse. Solução foi Backup/Restore.

Anticlei Scheid escreveu:
> Bom dia pessoal.
>
> Estou usando uma instrução SQL para uma consulta e no IBExpert funciona perfeitamente, mas na aplicação Delphi com o dbexpint.dll ou dbexpUIBfire15.dll recebo a mensagem "key violation".
> O problema está na seguinte parte da instrução :
> ...
> from MOVFISICO MF
> left join MOVFISICOITEM MFI on MFI.MOVFISICOID = MF.MOVFISICOID
> ...
>
> O objetivo é listar registros da MOVFISICOITEM e da primeira vez usei esta parte assim :
> ...
> from MOVFISICOITEM MFI
> left join MOVFISICO MF on MF.MOVFISICOID = MFI.MOVFISICOID
> ...
> ,ou seja, a tabela MOVFISICOITEM é a "mandante" no from, mas desse jeito o plano de pesquisa nela fica NATURAL, isto é, sem utilizar qualquer índice, visto que preciso filtrar os dados pelo intervalo de datas e a data do movimento está na MOVFISICO.
> Como estava muito lento resolvi mudar para a instrução abaixo, mas daí funciona no IBExpert, mas no Delphi não funciona como expliquei acima.
> Tentei até testar o driver trial da Upscene, mas continuo com o mesmo problema.
> Alguém sabe qual é o driver utilizado pelo IBExpert ou tem alguma sugestão ?
>
> select MF.MOVFISICOID, MF.TIPOMOVFISICOID, TMF.ENTRADASAIDA, MF.DTMOVIMENTO,
> MF.HRMOVIMENTO, MFI.ITEMID, I.ITEMCODIGO, I.ITEM, MFI.DEPOSITOID, D.CODDEPOSITO,
> MFI.LOTE, MFI.QUANTIDADE, PI.VALORUNITARIOPEDIDO, P.DTCONFIRMADO,
> NFI.QTDFATURADA, NFI.VALORUNITARIOFATURADO, NF.DTENTRADASAIDA, IL.DTFABRICACAO,
> IL.HRFABRICACAO, IL.DTVALIDADE, P.PEDIDOID, NF.NFID, NF.NF, NF.DTEMISSAO,
> MFI.MOVFISICOITEMID, P.PESSOAID, FAT.DTFATURAMENTO, P.TIPOFECHAMENTOID,
> P.TIPOFATURAMENTOID, P.NOMEPESSOA
> from MOVFISICO MF
> left join MOVFISICOITEM MFI on MFI.MOVFISICOID = MF.MOVFISICOID
> left join TIPOSMOVFISICO TMF on TMF.TIPOMOVFISICOID = MF.TIPOMOVFISICOID
> left join ITENS I on I.ITEMID = MFI.ITEMID
> left join DEPOSITOS D on D.DEPOSITOID = MFI.DEPOSITOID
> left join PEDIDOITENS PI on PI.PEDIDOID = MFI.PEDIDOID and PI.PEDIDOITEMID = MFI.PEDIDOITEMID
> left join PEDIDOS P on P.PEDIDOID = MFI.PEDIDOID
> left join NFITENS NFI on NFI.NFID = MFI.NFID and NFI.NFITEMID = MFI.NFITEMID
> left join ITEMLOTE IL on IL.ITEMID = MFI.ITEMID and IL.LOTE = MFI.LOTE
> left join NF on NF.NFID = MFI.NFID
> left join FATURAS FAT on FAT.FATURAID = NF.FATURAID
> where MF.DTMOVIMENTO between '09-01-2008' and '10-14-2008'
> and TMF.ENTRADASAIDA = 'S'  and P.PESSOAID = 1289
> order by TMF.ENTRADASAIDA
>
> Desculpem-me pela extensão do e-mail...
>
> Abraço e obrigado
> ______________________________________________
> 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
>
>   

-- 
            [ ]s
                   \\|//
                   <o o>
+----------------OOo-V-oOO---------------+
| \/\/anderson R. P. P. - Cabo Frio - RJ |
+--------=====--------------=====--------+
|       mailto:wpereira em ami.com.br       |
|             UIN  - 89166786            |
+----------------------------------------+
* O objeto mais leve do mundo é um pênis. Basta um pensamento para 
levantá-lo*




Mais detalhes sobre a lista de discussão lista