Este artigo tem como objetivo orientar sobre como solucionar o erro 'Btrieve Error 71' ao tentar excluir uma empresa no GAP
Resolução
Mensagem de erro:
"Falha ao excluir empresa:
-2147467259 - Falha ao executar SQL de exclusão: [LNA][Pervasive][ODBC Engine Interface][Data Record Manager]There is a violation of the RI definitions(Btrieve Error 71)
SQL: DELETE FROM prg_empresa_compl WHERE id = ???
Referência/Erro: 45900018"
Verifique a sincronia das tabelas: prg_empresa_btr e prg_empresa_compl
O erro ocorre, porque existem mais registros na tabela: prg_empresa_compl
1- Execute o scritpt abaixo para criar uma tabela temporária na PROEMP.
select * into prg_empresa_complt from prg_empresa_compl;
2- Após executar o script, realize a consulta dos dados na tabela temporária;
select codigo from prg_empresa_complt order by codigo asc;
Para facilitar a identificação dos codigos dos registros, exporte para excel o resultado ordenado por codigo crscente na coluna A.
3- Após executar o script, realize a consulta dos dados na tabela: prg_empresa_btr
select codigobtr from prg_empresa_btr order by codigobtr asc;
Para facilitar a identificação dos codigos dos registros, exporte para excel o resultado ordenado por codigo crescente na coluna B.
4- Compare as colunas e identifique qual empresa existe na tabela prg_empresa_complt e não existe na tabela prg_empresa_btr
5- Selecione o registro encontrado e exclua o mesmo no GRID do Pervasive na tabela temporária, ajustando os registros até ter a mesma quantidade da tabela prg_empresa_btr.
6- Acesse a base ?:\proempxx\ e renomeie o arquivo prg_0008.mkd para prg_0008.old
7- Feche o PCC e as consultas realizadas.
8- Acesse a base ?:\proempxx\ e renomeie o arquivo prg_empresa_complt.MKD para prg_0008.MKD
9- Realize a transferência da base geral
Para maiores informações, acesse: A745-Transferência da base de dados geral do Prosoft
10- Devolva apenas o arquivo PRG_0008.MKD
11- Realize a exclusão da empresa.