1) Introdução
Esse documento trata as particularidades do funcionamento do E3 com o Oracle.
Aqui não é demonstrado nenhum tipo de configuração do Oracle. Isso deve ser feito por profissional habilitado a esse tipo de instalação e configuração. Entretanto, alguns itens de configuração são utilizados para que o E3 acesse o servidor. Dessa maneira, ter informações básicas sobre o funcionamento de um servidor Oracle é fundamental para o sucesso na configuração do projeto no E3.
2) Configuração da conexão
A comunicação com o BD Oracle é feita no E3 de maneira semelhante aos outros tipos de servidores disponíveis: MS Access (que é o banco usado como padrão) e MS SQL Server. Os parâmetros a serem configurados são ilustrados na Figura 1. Esses parâmetros devem ser conseguidos junto ao administrador do banco de dados. Devido à complexidade de operação e administração de um servidor Oracle, assuntos como instalação e configuração básica não são cobertos nesse documento. Normalmente a opção pelo Oracle (ou mesmo pelo MS SQL Server) acarreta a inclusão de responsáveis pela manutenção/administração desse banco.
Figura 1 - Parâmetros de configuração de conexão ao Oracle
Os parâmetros ilustrados acima são:
3) Mensagens de erros e restrições
A conexão a qualquer banco de dados através do E3 pode ser monitorada através da criação de arquivos de log. Esses logs são criados automaticamente a partir das ações efetuadas pelo E3 Server e não cobrem apenas os bancos de dados. Entretanto, o tipo de mensagem logada deixa clara a origem dos erros.
Foram catalogadas, com o objetivo de facilitar a localização de falhas alguns códigos de erros, que foram provocados intencionalmente. Seguem abaixo algumas descrições de erros e as possíveis causas (algumas restrições de uso do banco são comentadas nos próprios erros).
Error = ORA-01031: insufficient privileges
Na maioria dos casos, esta mensagem é gerada quando o usuário não possui privilégios suficientes para criar um objeto, como por exemplo: tabelas, procedures, views, etc.
Error = ORA-01017: invalid username/password; logon denied
Mensagem gerada em log quando a senha ou usuário estão incorretos. Verificar se na conexão disponibilizada existe o usuário cadastrado.
Error = ORA-12154: TNS: não foi possível resolver nome de serviço
Caso o nome da conexão não seja encontrada, será gravada essa mensagem. Mesmo com o banco instalado corretamente e operando, é possível que o nome da conexão contenha erros.
Verificar por exemplo, o uso de maiúsculas e minúsculas no nome da conexão.
Error = ORA-02264: nome já usado por uma restrição existente
O uso de índices ou chaves primárias com o mesmo nome não é permitido, podendo causar erros de criação das tabelas e também de escrita e consulta aos dados. Para evitar esse erro, crie e configure diferentes nomes de índices ou chaves primárias no E3.
Error = ORA-01403: dados não encontrados
Ao ocorrer um erro como o uso de índices de mesmo nome, geralmente aparece o erro acima. Normalmente, esse erro acompanha outro que detalha melhor o tipo de problema que está ocorrendo.
Error = ORA-00001: restrição exclusiva (SYSTEM.E3INDEX) violada
Sempre que for feita uma tentativa de escrita de um registro onde o campo definido como chave primária tiver o valor repetido, a escrita será recusada e a mensagem acima será exibida. É interessante verificar que o nome da chave é mostrada (nesse caso, a chave SYSTEM.E3INDEX) no formato Usuário.NomeChave. Dependendo do projeto, esse erro é esperado, mas na grande maioria é importante verificar se a chave é a mais adequada. Para ilutrar essa afirmação, poderemos ver dois casos:
OBJETO PERMISSÕES
4) Objetos do E3 e permissões
É necessário configurar as permissões no BD para a utilização dos objetos E3 em uma aplicação. Essas permissões são listadas abaixo:
Fórmulas
Permissão Completa
Histórico de Usuário
Escrita e Consulta a tabelas existentes
Histórico
Permissão Completa
Servidor de Alarmes
Permissão Completa
Storage
Permissão Completa
Nas permissões, a expressão "Permissão Completa" significa que o usuário deverá ter, no mínimo as permissões para:
Permissões de administração do servidor (como criação de usuários etc.) não são necessárias ao usuário disponível para o E3.