Tempo aproximado para leitura: 00:01:56 min
Ocorrência
Ao executar um programa Progress com DataServer Oracle é retornado o erro Schema holder does not match database schema -- file field .Aborting execution in order to protect database and application integrity. (1461)
Ambiente
Framework - Framework (Linha Datasul) - Oracle - Todas as versões
Causa
São várias as causas do erro 1461, conforme listado abaixo:
1. A tabela não existe no banco Oracle;
2. A tabela existe em um owner diferente do previsto;
3. A tabela existe porém com uma estrutura diferente da prevista;
4. A tabela existe no banco Oracle e está com a estrutura adequada, porém a sua estrutura prevista, registrada no Schema Holder está desatualizada;
5. O usuário utilizado para abrir as conexões no banco Oracle não possui permissão para ler esta tabela.
Solução
Seguem as soluções de acordo com as causas listadas, respectivamente:
1. Criar a tabela no banco Oracle;
2. Ajustar o nome do owner no Schema Holder ou mover a tabela e seus índices para o owner previsto no Schema Holder;
3. Ajustar a estrutura da tabela no Oracle, refletindo o previsto no Schema Holder. Geralmente o erro foi ocasionado devido a falta de importação um script de atualização .sql no Oracle;
4. Atualizar o Schema Holder para refletir a definição do Oracle. Geralmente o erro está associado a falta de importação de uma definição de atualização .df no Schema Holder;
5. Conceder as permissões corretas no Oracle para o usuário utilizado na conexão do Schema Holder.
0 Comentários