Descrição

O data source SQL é usado para recuperar e configurar valores em uma base de dados SQL. Trata-se de um polling data source que lerá valores baseados em um dado período de atualização.

Conectividade

Qualquer base de dados suportada por JDBC pode ser acessada. Um driver JDBC específico é necessário para se conectar a qualquer base de dados específico, mas tais drivers estão prontamente disponíveis para a maioria das bases de dados, incluindo MySQL, MS SQL Server, IBM DB2, Oracle, Sybase, e muitos outros. O driver para MySQL está incluso neste produto. Veja a documentação para a sua base de dados para informações de onde obter o driver JDBC apropriado.

Configuração

Todo data source requer um Nome, o qual pode ser qualquer descrição. O Período de atualização determina a frequência com que a base de dados será lida.

O Nome da classe do Driver especifica a classe Java que implementa a interface do Driver JDBC de seu driver JDBC. Este valor pode ser encontrado na documentação de seu driver. O que segue é uma lista de nomes de classes de drivers para a dada base de dados, e é provida por conveniência apenas. Note que a conectividade tipicamente requer a instalação do software do driver no servidor Scada-LTS. Se você estiver tendo problemas, por favor consulte a documentação para sua base de dados.

A String de conexão depende da base de dados que você está usando e das especificações de sua instalação. A documentação de seu driver JDBC irá esplicar como auferir o valor para sua base de dados. O campos Usuário e Senha fornecem as credenciais necessárias para sua base de dados aceitar conexões desta aplicação.

Sua Instrução de seleção deve ser uma instrução SQL válida. O objetivo do SQL é ser uma linguagem padronizada de acesso a dados, mas diferentes base de dados frequentemente tem diferenças sutis de interpretação ou fornecem extensões da linguagem, então você deve usar a documentação de sua base de dados para ajudá-lo a construir a instrução SQL apropriada a seus propósitos.

Assinale a opção Row-based query para determinar se a query é row-based ou column-based. Como esta opção afeta os atributos na configuração do data point, esta seleção pode ser apenas mudada quando não houver pontos definidos no data source. Veja abaixo para mais informações sobre row vs. column -based queries.

Tratando Row-based query

Row-based queries possuem uma estrutura específica esperada no result set da query, mas permite a extração de grandes quantidades de dados similares mais facilmente do que com column-based queries. O result set deve ter a seguinte estrutura.

Tratando Column-based query

Column-based queries usam os nomes das colunas do result set para localizar valores dos pontos e tempos de sobreposição. É importante reconhecer que somente a primeira linha do result set é usada em uma column-based query.

Pode haver casos onde uma row-based query é desejável, mas não possível devido aos tipos de dados dos valores serem muito díspares. Nesses casos pode ser possível contruir a instrução SQL para transformar uma row-based query em uma column-based query. Uma instrução típica para recuperar dados em múltiplas linhas pode parecer com isto:

select status from relays

Para transpor tal tabela para recuperar valores em uma única linha, o seguinte pode ser feito (assumindo 3 relays):

select
  r1.status as r1status,
  r2.status as r2status,
  r3.status as r3status
from relays r1, relays r2, relays r3
where r1.relayId = 'relay1'
  and r2.relayId = 'relay2'
  and r3.relayId = 'relay3'

Por favor note que os exemplos acima são simplesmente fornecidos para conveniência e instrução. Sua base de dados específica pode requerer soluções bastante diferentes.

Teste de statement de seleção

A seção de Teste de statement pode ser usado para testar tanto os valores de configuração como o select statement SQL. Clicando no botão Executar será tentada uma conexão com a base de dados e, se bem sucedida, o código SQL será executado. Quaisquer erros serão mostrados. Se o statement SQL rodar com sucesso, os resultados serão exibidos apropriadamente, dependendo se o statement é row-based ou column-based. Consultas baseadas em colunas irão listar uma linha para cada coluna, trazendo o nome da coluna, o tipo de dados (entre parênteses, segundo a definição de tipos do JDBC) e o valor recuperado. Consultas baseadas em linhas irão exibir os resultados em uma tabela com os nomes das colunas e tipos de dados como títulos, e uma linha de dados para cada linha no retorno da consulta, até um máximo de 50 linhas.