+ Responder ao Tópico



  1. #1
    gsteixei
    Visitante

    Padrão Sumindo cadastros no Firebird

    Ola Pinguinzada dos bancos de dados.
    Estou com um problema estranho no meu bd, é que seguido vem usuarios reclamando que somem cadastros no banco de dado. O pior é que é verdade, o programa que eu uso cria um backup em txt e os cadastros realmente existiram, entao está sumindo cadastro.
    O servidor é um SUSE 10, a maquina é boa, e estou usando o firebird 1.5 Super Server. Antigamente eu usava o 1.0, quando eu mudei para o 1.5 a situação melhorou, mas continuam sumindo alguns...
    Isso é bug do firebird, ou tem algo errado no meu banco????

  2. #2
    cag
    Visitante

    Padrão Re: Sumindo cadastros no Firebird

    Utilizo firebird a 3 anos e nunca aconteceu isso...

    Provavelmente é um bug do software que vocês estão utilizando.



  3. #3
    gsteixei
    Visitante

    Padrão Re: Sumindo cadastros no Firebird

    A má noticia é que o programa é meu, mas a boa é que então pode ter concerto.. eheheh
    O programa é em delphi, tem umas coisas com o firebird que eu ainda nao entendi, quando alguem cadastra algo novo, eu nao consigo ver na mesma hora em outra maquina, até ai tdo bem pois ja sei que é normal do fb, para resolver os inconvenientes disso, coloquei um botão "atualizar" que os usuarios clicam quando outro precisa ter acesso a um cadastro recente. O fato é que sempre (segundo os usuarios) que se clica em atualizar, o cadastro nao some. E quando nao clicam, o cadastro as vezes some. O metodo desse atualizar é basicamente, dar um active:= false, active:= true; na database. Este procedimento parece corrigir o bug, esta semana estive mexendo no programa para fazer este procedimento cada vez que o usuario der um gravar no bd. Entao vou ver se semana que vem a coisa melhora e era isso. Mas acredito que exista algo menos tosco que isso. Talvez alguma propriedade no componente ou comando do delphi, como dbase.refresh (que por sinal nao funciona) ou algum comando do sql. :? :?

  4. #4
    cag
    Visitante

    Padrão Re: Sumindo cadastros no Firebird

    gsteixei, você está utilizando qual componente para trabalhar com firebird ?

    Eu estou meio parado com delphi, mas programei por um certo tempo.

    Na verdade quando um novo registro é inserido na base, ele deve aparecer nos outros micros.
    O que deve está acontecendo é que você não está trabalhando corretamente com as transações da base.

    Esse atualizar (você abre e fecha a base) e consequentemente grava os dados.
    Mas quando os usuários não fazem isso você não faz o commit.

    Segue abaixo um exemplo simples utilizando o dbexpress...

    Código :
     with qryCadMotores do
     begin
      Close;
      SQL.Clear;
      if not status then
      begin
       SQL.Add('insert into MOTORES  ' +
           '(CODMOTOR,NOME)    ' +
           'values (:CODMOTOR,:NOME)');
      end
      else
      begin
       SQL.Add('update MOTORES set   ' +
           'NOME = :NOME      ' +
           'where CODMOTOR =:CODMOTOR');
      end;
      ParamByName('CODMOTOR').AsString:= edtCodigo.Text;
      ParamByName('NOME').AsString:= edtNome.Text;
      ExecSQL();
     end;



  5. #5
    gsteixei
    Visitante

    Padrão Re: Sumindo cadastros no Firebird

    ahn.. entao o problema deve estar ai. Eu estava usando o ibdatabase. Quem tem uma sintaxe bem diferente. O negocio é inserir dados no banco direto em sql, o ibdatabase tem uma sintaxe assim:

    tabMotores.insert;
    tabMotores ['codMotor']:= edtCodigo.Text;
    tabMotores.post;

    Vou dar uma olhada nesse dbexpress pode ser esse o problema do meu banco. Pow, tomara que seja isso, obrigado pela ajuda se funcionar, vc tirou uma dor de cabeça de uns 6 meses... :-D