Uso do Banco de Dados Oracle no E3.

NOTA: No Elipse E3/Power é indicado selecionar a opção “Usar drivers ADO Oracle” na janela de configuração do objeto banco de dados, devido a descontinuidade do driver ADO do Windows. Também recomendamos a utilização do cliente Oracle atualizado, igual ou superior a versão 12c, mesmo que o servidor seja de uma versão inferior ao cliente.

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 abaixo. 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.

Os parâmetros ilustrados acima são:

 

  • Conexão: nome da conexão disponibilizada pelo administrador do banco.
  • Usuário: usuário disponibilizado no banco para conexão pelo Elipse E3. Dependendo do tipo de objeto a ser utilizado no projeto, deverá ter diferentes permissões. Uma tabela ilustrativa das necessidades conforme o objeto segue nesse documento.
  • Senha: referente ao usuário com o qual se pretende realizar o logon.

 

 

 

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:

 

  • Sistema de Telemedição de Energia: Visando gravar todos os dados de um dia, as rotinas usadas para coleta admitem tolerâncias a mais e a menos no horário a ser coletado. Assim, alguns dos registros terão de ser escritos mais de uma vez. Nesse caso, a ocorrência desse erro é esperada.
  • Manutenção de Alarmes: Para esse caso, pode haver mais de um erro por segundo no sistema. Se o campo “E3TimeStamp” for usado como chave-primária, pode haver a perda de algumas ocorrências de alarme, o que prejudica a análise posterior dos eventos. Nesse caso, re-estudar a chave-primária pode ser a solução adequada.

 

 

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:

OBJETO 

PERMISSÕES

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:

 

  • Criar tabela.
  • Criar índices e chaves.
  • Remover tabelas existentes.
  • Inserir e excluir dados nas tabelas criadas.
  • Consultas sobre as tabelas resultantes.
  • Criar Stored Procedures.

 

 

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.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *