Interface com Bancos de Dados (OLEDB)

<< Clique para Mostrar o Sumário >>

 

Interface com Bancos de Dados (OLEDB)

A Interface de Comunicação com Bancos de Dados permite a conexão com qualquer banco de dados que tenha suporte a OLE DB Provider, como por exemplo SQL Server, Oracle e Excel via ADO, entre outros, de maneira a buscar os dados destas fontes e armazená-los no EPM Server no formato de séries temporais.

A criação de uma Interface de Comunicação com Bancos de Dados segue um procedimento análogo à da criação de uma Interface de Simulação mas, diferente de todas as outras Interfaces de Comunicação, esta possui um passo a mais na configuração, que consiste na criação de um mapeamento entre o resultado de uma consulta realizada em SQL (Structured Query Language) e uma propriedade que serve como endereço correspondente a ser utilizado na Configuração de Fonte de Dados de uma Basic Variable.

1.Para inserir esta Interface de Comunicação, clique com o botão direito do mouse no nó do Interface Server no Explorer do EPM Studio e selecione a opção New Interface, similar ao procedimento para inserir a Interface de Simulação. Esta mesma operação pode ser executada na Faixa de Opções do EPM Studio, clicando em Interface na aba Insert.

2.A janela de criação de Interfaces é mostrada. Na opção Type, selecione o item DATABASE. Nas opções Name e Description, digite um nome (obrigatório) e uma descrição (opcional) para a Interface, respectivamente.

3.No caso deste tipo de Interface de Comunicação, a opção Publishing Interval corresponde ao período de execução das consultas SQL válidas e habilitadas para avaliação. O menor valor permitido é de 100 milissegundos.

Seleção do tipo de Interface

Seleção do tipo de Interface

4.Clique em Next para prosseguir. Abre-se uma janela informando que a Interface está pronta para ser inserida.

5.Por padrão, a opção Start Interface after creating it (iniciar a Interface de Comunicação após a criação) já vem selecionada. No caso deste tipo de Interface de Comunicação, esta opção apenas inicia a Interface, porém não tenta estabelecer uma conexão com um banco de dados, uma vez que este só é configurado posteriormente.

6.Para concluir a operação de criação, clique em Finish. Uma vez concluída, surge uma mensagem informando o sucesso da operação.

7.Depois de criada a Interface de Comunicação com um Banco de Dados, as propriedades podem ser acessadas através da opção Properties do menu contextual desta Interface. Uma aba com as informações sobre esta Interface se abre.

Janela de configuração da Interface

Janela de configuração da Interface

As propriedades deste tipo de Interface de Comunicação são análogas às das demais Interfaces de Comunicação, com exceção do significado da propriedade Publishing Interval e dos parâmetros relativos à conexão com o servidor de Banco de Dados e das consultas SQL a serem executadas.

A seguir são apresentados os passos necessários para a configuração da conexão com um servidor de Banco de Dados, a criação das consultas SQL a serem executadas periodicamente e a criação do mapeamento entre o resultado das consultas SQL e os pontos de leitura desta Interface de Comunicação que podem ser posteriormente utilizados pelas Basic Variables na Configuração de Fonte de Dados.

1.Para configurar a opção Connection String, clique em Edit para abrir a janela da figura a seguir. Nesta janela é possível selecionar o tipo de servidor na opção Server type, que já conta com um modelo pré-definido para SQL Server e Oracle. No caso de outro banco de dados, selecione o item Other e edite a String de conexão manualmente.

Janela de configuração da conexão

Janela de configuração da conexão

2.A opção Connection String é um texto com as informações necessárias para se conectar a um banco de dados. O formato é dependente do servidor de Banco de Dados utilizado. Para saber qual é o formato correto, consulte a documentação referente ao servidor de Banco de Dados a conectar. No caso do SQL Server, por exemplo, a String de conexão tem o formato a seguir.

Provider=SQLOLEDB; Persist Security Info=false; Data Source={SERVER}; Initial Catalog={DB}; User Id={USER}; Password={PASSWORD}

 

A Interface de Comunicação do tipo DATABASE sempre utiliza o conteúdo apresentado na opção Connection String. Ao selecionar o Server Type como MS SQL Server, por exemplo, as opções mostradas servem apenas para facilitar a configuração. Caso o usuário altere manualmente a String de conexão, as opções do formulário são ignoradas, exceto quando utilizadas as macros apresentadas na janela, ou seja, {SERVER}, {DB}, {USER} e {PASSWORD}.

3.Preencha as opções Database, User e Password para a conexão com o SQL Server e teste a conexão clicando em Test Connection.

Conexão completada com sucesso

Conexão completada com sucesso

 

NOTAS

No caso de conexão com o SQL Server, deve-se garantir que na opção Connection String não haja espaço em branco entre o nome do campo e o sinal de igual, bem como entre o sinal de igual e o valor a ser atribuído.

Ainda para o SQL Server, caso seja necessário executar uma autenticação integrada, deve-se substituir na opção Connecting String a expressão "User Id={USER};Password={PASSWORD}" por "Integrated Security=true".

 

4.Uma mensagem de sucesso é mostrada. Após, clique em OK fechando a mensagem e novamente em OK para fechar a janela de edição da String de conexão. Note que as informações principais relacionadas à conexão passam a ser apresentadas na aba de configuração.

Opções de configuração da String de conexão

Opções de configuração da String de conexão

Uma vez estabelecida a conexão com o banco de dados, é necessário criar consultas SQL que são executadas periodicamente e o resultado encaminhado para os endereços mapeados na Interface de Comunicação. Este processo de mapeamento consiste na definição de um nome identificador para cada uma das colunas retornadas pela consulta.

A criação de consultas SQL é realizada na aba interna Queries, que tem uma barra de ferramentas com os comandos descritos na tabela a seguir.

Comandos na barra de ferramentas da aba Queries

Comando

Descrição

Insert Insert

Adiciona uma nova consulta SQL

Delete Delete

Remove a consulta SQL selecionada

Edit Edit

Edita a consulta SQL selecionada

Test Test

Testa a consulta SQL selecionada

Reset Parameters Reset Parameters

Redefine os parâmetros relacionados à consulta SQL selecionada a partir dos valores iniciais informados

Import Import

Importa as configurações de uma ou mais consultas SQL a partir de um arquivo no formato CSV (Comma-separated values)

Export Export

Exporta as configurações de uma ou mais consultas SQL para um arquivo no formato CSV (Comma-separated values)

 

1.Para criar uma consulta SQL, selecione a aba interna Queries e clique em Insert Insert.

Janela de criação de uma consulta SQL

Janela de criação de uma consulta SQL

2.A janela com a consulta SQL já vem previamente preenchida com uma sugestão padrão de consulta. A variável @<TimestampField>.LastValue da cláusula WHERE é fornecida pelo EPM e mantém o valor da última variação recebida, seja uma estampa de tempo ou qualquer outro índice que se deseje utilizar.

3.A consulta deve ser editada de maneira que o resultado contenha pelo menos os valores das variáveis que se deseja armazenar no EPM Server. A figura a seguir mostra um exemplo de consulta para o caso hipotético de se desejar mapear os dados previamente armazenados no histórico de uma aplicação Elipse E3 para a variável Tag05.

Janela de configuração de variáveis

Janela de configuração de variáveis

 

NOTAS

O Histórico do Elipse E3 armazena os dados em um formato relacional, em que cada linha corresponde a um registro identificado univocamente pela estampa de tempo, ou seja, a primeira coluna, em geral uma chave primária. As demais colunas costumam ser utilizadas para identificar os valores e qualidades dos pontos que se deseja armazenar.

Recomenda-se sempre utilizar a cláusula ORDER BY em conjunto com a variável que guarda o estado da última consulta executada, de maneira a trazer sempre os novos dados armazenados no banco de dados quando a consulta SQL é executada automaticamente segundo o período definido na opção Publishing Interval.

Caso a consulta retorne apenas o valor, ou seja, não tenha os campos correspondentes de estampa de tempo e qualidade, no momento do mapeamento estas informações podem ser configuradas para preenchimento automático, com a qualidade sempre boa e a estampa de tempo correspondente à data e hora da máquina onde se encontra o EPM Interface Server. Nesta situação deve-se atentar ao fato de que se a consulta retornar mais de um valor, apenas o último é efetivamente armazenado com a estampa de tempo correspondente ao momento da execução da consulta.

 

4.Após concluir a edição da consulta, clique em Execute para avaliar o resultado. Como esta consulta contém uma variável, uma janela solicitando a informação do valor é aberta. Após preencher e clicar em OK, o resultado da consulta é apresentado.

Resultado da consulta

Resultado da consulta

5.Após verificar que a sintaxe da consulta está correta e que os valores estão sendo trazidos de acordo com o esperado, clique em OK para concluir a criação da consulta.

6.Selecione a consulta recém-criada e clique em Test na barra de ferramentas da aba Queries para adicionar um ícone indicando que a consulta está correta.

Teste de conexão

Teste de conexão

7.Note que ao lado do nome da consulta existe uma caixa de seleção desmarcada, seguida do texto da consulta e, por fim, de uma tabela com os valores iniciais definidos para as variáveis que guardam o estado desde a última execução, que ocorre apenas quando a consulta está habilitada.

 

NOTAS

Para testar uma consulta, selecione-a e clique em Test na barra de ferramentas da aba Queries. Caso a consulta esteja correta, é apresentado um ícone ao lado da consulta recém-avaliada indicando esta situação.

Para editar uma consulta, selecione-a e clique em Edit na barra de ferramentas da aba Queries para abrir novamente a janela de edição de consultas mostrada anteriormente.

Os valores iniciais das variáveis definidas na tabela são utilizados apenas na primeira vez em que a consulta é executada. O valor é automaticamente atualizado para o último valor retornado na consulta, servindo como referência para a próxima execução.

Recomenda-se habilitar a execução da consulta apenas depois que os mapeamentos do resultado já tenham sido configurados como fonte de dados nas Basic Variables (Configuração de Fontes de Dados), sob pena de iniciar a execução das consultas sem que os dados obtidos sejam armazenados no EPM Server.

Definir um novo valor inicial de data e hora para um período em que os dados já foram coletados e armazenados pode implicar em sobrescrever alguns valores, ou seja, com a mesma estampa de tempo, ou na adição de valores com estampas de tempo intermediárias aos dados previamente armazenados.

 

8.Depois de concluída a criação de todas as consultas necessárias, selecione a aba Address e proceda com a criação dos identificadores que servem como endereços desta Interface de Comunicação na hora de configurar a fonte de dados de uma Basic Variable (Configuração de Fontes de Dados). A barra de ferramentas da aba Address tem os comandos descritos na tabela a seguir.

Comandos na barra de ferramentas da aba Address

Comando

Descrição

Insert Insert

Adiciona um novo mapeamento

Delete Delete

Remove o mapeamento selecionado

Retrieve Fields Retrieve Fields

Atualiza os campos disponíveis para mapeamento a partir da execução das consultas disponíveis

Import Import

Importa as configurações de um ou mais mapeamentos de endereço a partir de um arquivo no formato CSV (Comma-separated values)

Export Export

Exporta as configurações de um ou mais mapeamentos de endereço para um arquivo no formato CSV (Comma-separated values)

 

9.Para adicionar um mapeamento, selecione a aba Address e clique em Insert Insert.

Opção de adicionar um mapeamento

Opção de adicionar um mapeamento

10.Uma vez adicionado um novo mapeamento, deve-se preenchê-lo com as informações relacionadas ao resultado de uma consulta que se deseja mapear. Para facilitar este preenchimento, clique em Retrieve Fields Retrieve Fields na barra de ferramentas da aba Address para executar as consultas e identificar automaticamente os campos disponíveis no resultado para serem mapeados, conforme a figura a seguir.

Opção Retrieve Fields

Opção Retrieve Fields

 

NOTA

A coluna Query Status do mapeamento indica se a consulta está ou não habilitada para ser executada segundo o parâmetro Publish Interval. O fato de não estar habilitada não impede a configuração do mapeamento. Recomenda-se proceder com a habilitação da execução apenas depois de ser vinculado este mapeamento com uma Basic Variable (Configuração de Fontes de Dados).

 

11.Assim que todos os mapeamentos desejados em uma Interface de Comunicação do tipo Database sejam definidos, pode-se seguir com a utilização no parâmetro de configuração da fonte de dados das Basic Variables. Neste caso hipotético, criamos uma Basic Variable de nome Tag05_From_DB que recebe os dados da Interface de Comunicação DatabaseInterface através do mapeamento NewAddress1 que, por sua vez, define quais os resultados de uma consulta correspondem ao valor, à estampa de tempo e à qualidade a serem repassados para a Basic Variable no momento da execução da consulta.

Exemplo de configuração

Exemplo de configuração

Após configurada a Interface de Comunicação, também já é possível realizar a importação dos Tags criados na operação de mapeamento desta Interface (Importação de Tags) ou associar estes mapeamentos à variáveis (Basic Variables) previamente criadas no EPM Server (Configuração de Fonte de Dados), conforme o exemplo da figura anterior.

Todas as consultas SQL utilizadas por uma Interface de Comunicação com bancos de dados, bem como todo o mapeamento dos resultados, podem ser exportados para planilhas eletrônicas, editados neste ambiente e posteriormente importadas novamente, aplicando as alterações efetuadas.

A vantagem de se utilizar planilhas eletrônicas reside no fato deste ser um ambiente altamente flexível, que possibilita o trabalho com um elevado número de consultas e mapeamentos de maneira mais simples.

 

NOTA

Para ler dados a partir de planilhas eletrônicas de maneira automática, como por exemplo planilhas do Excel, é possível utilizar esta Interface de Comunicação. Para mais detalhes de como proceder para configurar uma Interface de Comunicação para esta tarefa, consulte o artigo Coletando Dados de uma Planilha do Excel no Elipse Knowledgebase.

Esta página foi útil?