Jump to content

diadoacbr

Erro FireDAC.


Go to solution Solved by Duarte,
  • Este tópico foi criado há 1926 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde,

Se crie o tópico no lugar indevido me perdoe e aceito correções!

Bem, estou enfrentando um problema com FireDAC Delphi 10.1 Berlin, o negocio é seguinte, na hora de gravar os dados da esse erro:  [firedac][phys][fb][blob] not found

O estranho é que não temos nenhum campo blob nas tabelas em questão, alguém já se deparou com isto? Uma informação, na maioria das vezes este erro ocorre com tabelas com master - details. Já desativei as opções: Items To Feth "Blobs" e Items To Cache "Blobs" da FDConnection.

Link to comment
Share on other sites

  • Consultores

Essa é toda a mensagem de erro?

O BD é Firebird ou Interbase? O componente está configurado para trabalhar com o Firebird ou o Interbase?

Só ocorre em tabelas com master-detail?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Membros Pro

Boa tarde,

Obrigado pelo retorno, 

Banco Dados: FireBird 2.5 win32 class server.

Estrutura dos componentes de acesso: FDQuery + Provider + ClientDataSet

Sim, por incrivel que parece só com master-detail!

 

Há DBExpress.. rsrs, pos-e contras...

Outra coisa, caso tenha se deparado com isso, em alguns caso, muito raros, mais ocorre, mesma estrutura, acontece o seguinte:

Ao gravar dados, do nada os dados são enviado "null" ou seja é como se os componente limpasse os dados, repassando tudo "null" sendo que nos componente visuais "dbgrid, dbedit, etc" estão todos alimentados...

Edited by Duarte
Link to comment
Share on other sites

  • Consultores
43 minutos atrás, Duarte disse:

Boa tarde,

Obrigado pelo retorno, 

Banco Dados: FireBird 2.5 win32 class server.

Estrutura dos componentes de acesso: FDQuery + Provider + ClientDataSet

Ainda não entendi bem o erro. Aquela é toda a mensagem de erro? Não tem mais nada?

E o componente está configurado para trabalhar com o Firebird?

44 minutos atrás, Duarte disse:

Sim, por incrivel que parece só com master-detail!

Se só acontece com o master-detail, isso pode ser mais fácil de procurar o problema. Tente ver se existe algum exemplo de Master-Detail nas pastas de exemplos do FireDac.

Teste com ele. Isso isola o problema de sua aplicação.

41 minutos atrás, Duarte disse:

Outra coisa, caso tenha se deparado com isso, em alguns caso, muito raros, mais ocorre, mesma estrutura, acontece o seguinte:

Ao gravar dados, do nada os dados são enviado "null" ou seja é como se os componente limpasse os dados, repassando tudo "null" sendo que nos componente visuais "dbgrid, dbedit, etc" estão todos alimentados...

Não me deparei com isso ainda...

 

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Membros Pro

Bem, parece que consegui resolver, como não é um erro que acontece com frequencia. São centenas de clientes, e em alguns e neste mesmo raramente acontece, mais após estas alterações com centenas de deste até agora não levantou o erro, segue alguns ajuste que fiz na FDConnection e DataSetProvider. pois uso o trio: FDQuery + DataSetProvider + ClientDataSet. Print das configurações:58f1652b45606_Semttulo.png.0fe9c288b9cd66a093b79b377d585549.png

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
  • Membros Pro
  • Solution

Bom dia,

Quero aqui deixar a solução do problema, pois em nenhum lugar conseguir uma resposta, e depois de muito lutar, graças a Deus achei!

O erro estava no banco de dados, ou seja, corrompido! Depois de checar todos os objetos do banco, não apenas os casuais, mais todos que o firebird nos libera atrás de tabelas do sistema, constatei que, todas as regras de validades em Check dos domínios no firebird são gravados em campos blob na tabela do sistema “Firebird”. Tenho alguns domínios que tem validações no chack “Check” para garantir uma boa integridade do banco, um deles é chamado “D_Situacao” aonde valida as situações aceitáveis pelo banco, foi exatamente neste (domínio) que dentro da tabela interna do firebird que corrompeu.

Solução! Extrai o metabase do banco, crie um novo banco e usei um aplicativo que por sinal gosto muito “DataPump” migrei os dados e pronto...

Poderia apenas fazer um backup/restory, creio que sim, mais como já estava muito chateado com o erro, preferir ser mais cauteloso levando os dados para um banco criado do zero.

  • Like 3
Link to comment
Share on other sites

  • Consultores
1 hora atrás, Duarte disse:

O erro estava no banco de dados, ou seja, corrompido!

Isso faz muito sentido. ^_^

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Membros Pro
22 horas atrás, EMBarbosa disse:

Isso faz muito sentido. ^_^

Sim, o erro em questão "Blob Not Found" tirou o meu sono, rsrs. Logo pelos seguinte fatos: Não tenho nenhum blob no banco!. Não ocorreia em todos os clientes, e são centenas! No cliente em questão ocorria as vezes!

Vejam: se aplicar: SELECT * FROM RDB$FIELDS. Teremos a lista de todos os campos do banco, seja criado por você ou do proprio sistema "Firebird" e o saco é que o firebird usa blobs para guardar informações dentro de si mesmo! foi o caso do meus dominios com checks. veja:

 

Criado pelo proprio fireibird campo Blob para armazenar as validações, pois é logico que podem ter validações enormes. Então imagine que um deste blob "interno" corrompa" já era o banco, dai estava o erro as vezes no clientes, o dominio/check "d_situação" que está presente em alguns tabelas estava corrompido!

 

Eita errinho sacana... rsrs

 

Sem título.png

O Cara evita não trabalhar com "Blob" pois eu os considero um saco. rsrs e lá vem o firebird cheio deles.. rssr

  • Thanks 1
Link to comment
Share on other sites

  • Este tópico foi criado há 1926 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.