[firebase-br] Falha ao restaurar backup
OseasTormen
mentux em gmail.com
Qui Mar 13 10:28:51 -03 2008
Nao tem jeito, vai ter que preencher o campo, se nao nao vai funcionar, o
que tu pode fazer eh buscar o campo que esta como nulo.
Nao acho que as mensagens de erro nao sejam explicativas, elas querem dizer
muito ;)
se quiser tenho uma procedure que varre o banco em busca de inconsistencias
com not null
segue
*****************************************
SET TERM ^ ;
CREATE PROCEDURE PP_FIND_FIELDS_NOTNULL
RETURNS (
TABELA VARCHAR(31),
CAMPO VARCHAR(31),
QUANTOS INTEGER)
AS
begin
FOR
SELECT
RDB$RELATIONS.RDB$RELATION_NAME
FROM RDB$RELATIONS
WHERE RDB$RELATIONS.RDB$SYSTEM_FLAG = 0
ORDER BY RDB$RELATIONS.RDB$RELATION_ID
INTO :TABELA
DO BEGIN
FOR
SELECT
RDB$RELATION_FIELDS.RDB$FIELD_NAME
FROM RDB$RELATION_FIELDS
WHERE RDB$RELATION_FIELDS.RDB$NULL_FLAG = 1
AND (RDB$RELATION_FIELDS.RDB$RELATION_NAME = :TABELA)
ORDER BY RDB$RELATION_FIELDS.RDB$FIELD_POSITION
INTO :CAMPO
DO BEGIN
EXECUTE STATEMENT 'SELECT COUNT(*) FROM '||:TABELA||' WHERE
'||:CAMPO||' IS NULL'
INTO :QUANTOS;
if (QUANTOS > 0) then
SUSPEND;
END
END
END^
SET TERM ; ^
GRANT EXECUTE ON PROCEDURE PP_FIND_FIELDS_NOTNULL TO SYSDBA;
*****************************************
--
____________________________
OseasTormen
Chapecó - SC
"Magno Machado" <magnomp.gprs em gmail.com>
escreveu na mensagem news:frb876$59d$3 em ger.gmane.org...
Estou tentando executar backup e restore em um banco de dados que tenho
aqui. O backup é feito com sucesso, mas ao executar o restore recebo um erro
sobre validação de um campo not null. Tá, é uma inconsistencia no meu banco,
algum campo que é not null mas que por algum motivo foi gravado um registro
com null naquele campo, pelomenos é o que imagino.
Então olhei em todas as tabelas que têm o campo informado na mensagem de
erro (Seria muito bom se a mensagem informasse o nome da tabela, mas já
estou me acostumando com essas mensagens de erro pouco explicativas do
firebird...) e nenhuma tabela possui aquele campo definido como not null e
ainda um registro que foi gravado com null.
Alguém tem uma idéia de o que eu poderia fazer para resolver isso e
conseguir executar o backup/restore com sucesso?
______________________________________________
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
Mais detalhes sobre a lista de discussão lista