Erro no interbase6
Alguém sabe o que é o erro:
Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
internal gds software consistency check (invalid block type encountered (147)).
Ocorre quando dou um post de uma inclusão. Depois disso, o banco fica instável.
Grato.
Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
internal gds software consistency check (invalid block type encountered (147)).
Ocorre quando dou um post de uma inclusão. Depois disso, o banco fica instável.
Grato.
Ronaldo
Curtidas 0
Respostas
Marcio.theis
26/10/2004
o erro ´internal gds software consistency check´ acontece as vezes com frequencia para mim, dependendo do cliente, normalmente resolvo passando um Validation do interbase, ou fazendo um BackUp da base e Retore, quase sempre funciona, e quando não funciona, vou tabela por tabela para saber onde é gerado o erro...
________________
espero ter ajudado;
________________
espero ter ajudado;
GOSTEI 0
Marcio.theis
26/10/2004
o erro ´internal gds software consistency check´ acontece as vezes com frequencia para mim, dependendo do cliente, normalmente resolvo passando um Validation do interbase, ou fazendo um BackUp da base e Retore, quase sempre funciona, e quando não funciona, vou tabela por tabela para saber onde é gerado o erro...
________________
espero ter ajudado;
________________
espero ter ajudado;
GOSTEI 0
Ronaldo
26/10/2004
Ajudou + ou -.
Vc disse que vai tabela por tabela para ver onde está o erro.
Eu sei qual tabela está dando o erro, mas não faço a mínima idéia do que é.
Pelo IBExpert eu incluo um registro ok, mas no segundo já começa a gerar o erro.
Já pelo delphi, eu não consigo incluir nenhum.
Eu tenho que reiniciar o banco para conseguir trabalhar de novo.
Vc disse que vai tabela por tabela para ver onde está o erro.
Eu sei qual tabela está dando o erro, mas não faço a mínima idéia do que é.
Pelo IBExpert eu incluo um registro ok, mas no segundo já começa a gerar o erro.
Já pelo delphi, eu não consigo incluir nenhum.
Eu tenho que reiniciar o banco para conseguir trabalhar de novo.
GOSTEI 0
Ronaldo
26/10/2004
A tabela possui o seguinte trigger:
AS BEGIN
IF ((NEW.CODCAIXA <= 0) or (NEW.CODCAIXA IS NULL)) THEN
NEW.CODCAIXA = GEN_ID(G_CFCAIXA, 1);
ELSE
NEW.CODCAIXA = GEN_ID(G_CFCAIXA, NEW.CODCAIXA - GEN_ID (G_CFCAIXA, 0));
END
O erro pode estar aqui?
AS BEGIN
IF ((NEW.CODCAIXA <= 0) or (NEW.CODCAIXA IS NULL)) THEN
NEW.CODCAIXA = GEN_ID(G_CFCAIXA, 1);
ELSE
NEW.CODCAIXA = GEN_ID(G_CFCAIXA, NEW.CODCAIXA - GEN_ID (G_CFCAIXA, 0));
END
O erro pode estar aqui?
GOSTEI 0
Marcio.theis
26/10/2004
eu não sei como você criou seu generator, mas eu tenho um exemplo desta forma: CREATE GENERATOR GEN_CLIENTE; SET GENERATOR GEN_CLIENTE TO 0 é criado setando com zero, e ao executar a trigger que busca o próximo ele faz o seguinte: CREATE TRIGGER CLIENTE_PROXIMOCOD FOR CLIENTE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID_CLIENTE IS NULL) THEN NEW.CLIENTE = GEN_ID(GEN_CLIENTE, 1); END e até hoje funciona normalmente... ________________ espero ter ajudado;
GOSTEI 0