erro na restauracao do banco
Estou com problema de restauracao do meu backup, quando eu tento restaurar ele da um erro asim:
validation erro for column COD_EMPRESA, value ´***null***´ warning -- record could not be restoured.
so que eu verifiquei o seguinte, no banco de dados na tabela OCORRENCIA tem uns registros com com valor 0 no campo COD_EMPRESA e este campo é integer, se eu deletar estes registros da tabela OCORRENCIA e depois eu fazer um backup e restaurar e da certo, mas se nessa tabela conter algum registro que tenha o valor 0 no campo COD_EMPRESA ele da erro na restauracao.
Estou usando o Firebird 1.5 RC8.
Alguem sabe o pq deste erro ?
validation erro for column COD_EMPRESA, value ´***null***´ warning -- record could not be restoured.
so que eu verifiquei o seguinte, no banco de dados na tabela OCORRENCIA tem uns registros com com valor 0 no campo COD_EMPRESA e este campo é integer, se eu deletar estes registros da tabela OCORRENCIA e depois eu fazer um backup e restaurar e da certo, mas se nessa tabela conter algum registro que tenha o valor 0 no campo COD_EMPRESA ele da erro na restauracao.
Estou usando o Firebird 1.5 RC8.
Alguem sabe o pq deste erro ?
Ronaldomr
Curtidas 0
Respostas
Afarias
02/10/2004
Após a mensagem o banco é restaurado ou não? Esse campo é chave primária ou chave estrangeira ou possui alguma outra constraint como check ou unique?
Aproveitando, vá para a versão final (estável) do FB 1.5
T+
Aproveitando, vá para a versão final (estável) do FB 1.5
T+
GOSTEI 0
Ronaldomr
02/10/2004
eu nao criei nenhum indice para esta tabela de uma olhada como criei.
CREATE TABLE ´OCORRENCIA´
(
´COD_CLIENTE´ INTEGER,
´COD_HISTORICO´ VARCHAR(5) CHARACTER SET ISO8859_1,
´HIS_DESCRICAO´ VARCHAR(40) CHARACTER SET ISO8859_1,
´OCO_CONTRATO´ VARCHAR(20) CHARACTER SET ISO8859_1,
´OCO_PARCELA´ INTEGER,
´OCO_COMPLEMENTO´ BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,
´COD_USUARIO´ VARCHAR(15) CHARACTER SET ISO8859_1,
´HOR_HORA´ TIME,
´DAT_INCLUSAO´ DATE,
´DAT_ATUALIZACAO´ DATE,
´COD_EMPRESA´ INTEGER,
´HOR_INICIO´ TIME,
´DAT_RETORNO´ DATE,
´COD_FILIAL´ INTEGER,
´COD_LOJA´ INTEGER,
´OCO_TIPO´ VARCHAR(1) CHARACTER SET ISO8859_1,
´OCO_NOME´ VARCHAR(40) CHARACTER SET ISO8859_1
);
CREATE TABLE ´OCORRENCIA´
(
´COD_CLIENTE´ INTEGER,
´COD_HISTORICO´ VARCHAR(5) CHARACTER SET ISO8859_1,
´HIS_DESCRICAO´ VARCHAR(40) CHARACTER SET ISO8859_1,
´OCO_CONTRATO´ VARCHAR(20) CHARACTER SET ISO8859_1,
´OCO_PARCELA´ INTEGER,
´OCO_COMPLEMENTO´ BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1,
´COD_USUARIO´ VARCHAR(15) CHARACTER SET ISO8859_1,
´HOR_HORA´ TIME,
´DAT_INCLUSAO´ DATE,
´DAT_ATUALIZACAO´ DATE,
´COD_EMPRESA´ INTEGER,
´HOR_INICIO´ TIME,
´DAT_RETORNO´ DATE,
´COD_FILIAL´ INTEGER,
´COD_LOJA´ INTEGER,
´OCO_TIPO´ VARCHAR(1) CHARACTER SET ISO8859_1,
´OCO_NOME´ VARCHAR(40) CHARACTER SET ISO8859_1
);
GOSTEI 0
Afarias
02/10/2004
nada mais?? e o banco foi restaurado??
Bom se o problema persistir, retire os registros problemáticos, faça o backup, restaure, insira os registros novamente (teste o procedimento novamente) e use o novo banco restaurado.
Não deixe de atualizar o FB, versões RC não são ´estáveis´
T+
Bom se o problema persistir, retire os registros problemáticos, faça o backup, restaure, insira os registros novamente (teste o procedimento novamente) e use o novo banco restaurado.
Não deixe de atualizar o FB, versões RC não são ´estáveis´
T+
GOSTEI 0
Ronaldomr
02/10/2004
nao ele nao foi restaurado
GOSTEI 0
Afarias
02/10/2004
tb --só por desencargo-- passe o gfix na base antes do backup:
gfix -v -f base.gdb
T+
gfix -v -f base.gdb
T+
GOSTEI 0
Sremulador
02/10/2004
Mestre eu já passei muito por isso, tenho uma base de dados aqui que contém erros que ninguem fora ou dentro do forum conseguil me responder, já passei o gfix com todas as opções e não resolveu, ele faz o backup direitinho porém na restauração ele diz que mo lugar de um valor inteiro eu tenho uma string vê se pode .... :twisted:
GOSTEI 0