Como visualizar dados em um banco de dados MSSQL através de seu CP

OBS: Este tutorial foi validado na versão 3.20 do MasterTool. Para o correto desenvolvimento do tutorial abaixo sua versão de software deverá ser igual ou superior a mesma. 

Caso queira saber mais sobre o assunto Banco de Dados e também como utilizar as funções de escrita e consulta na Série Nexto, assista o Webinar a seguir:



A biblioteca LibSQLClient permite que seja estabelecida uma conexão direta entre os CLPs da série Nexto e Nexto Xpress com o servidor de um banco de dados Microsoft SQL Server. Após estabelecer essa conexão, é possível realizar operações de escrita e leitura de informações em base de dados SQL Server, utilizando a linguagem de consulta estruturada SQL.


A conexão da CPU com o servidor MSSQL é realizada via Tabular-Data-Stream Protocol (TDS), protocolo TCP/IP típico que utiliza a porta 1433.


Parâmetros de entrada

EXECUTE: Ativa o bloco funcional na borda de subida.

DB_LOGIN_PARAMS: Parâmetros para realizar login no banco de dados. Descrição dos parâmetros abaixo.

SQL_COMMAND: String que abriga o comando SQL a ser enviado para o banco de dados.

QUERY_DATA: Variável utilizada para armazenar os dados retornados pelo banco de dados após a execução de um comando SELECT.


Parâmetros de saída

DONE: Indica se a operação foi completa

BUSY: Indica se há uma operação ocorrendo (ocupado)

ERROR: Indica se há um erro na execução do comando

STATUS: String que indica o status de funcionamento do bloco.


Parâmetros DB_LOGIN_PARAMS


QUERY_DATA

Variável utilizada para armazenar os dados retornados pelo banco após um comando SELECT.

Nesse caso, o usuário deve instanciar uma variável do tipo C_QUERY_DATA e colocá-la na entrasda do bloco QUERY_DATA para o mesmo não retornar erro de parâmetro inválido (MSSQL_INVALID_PARAMETERS).


Códigos de erro SQL_STATUS_CODES



Constantes globais

Também é possível redimensionar a tabela dos dados, ajustando o número máximo de linhas e colunas que a estrutura QUERY_DATA irá armazenar. Para fazer isso, o usuário deve alterar o valor das constantes globais gc_dwMSSQLMaxRows e gc_dwMSSQLMaxColumns, descritas na tabela abaixo.

Além disso, o usuário também tem a opção de alterar o tamanho máximo das strings que armazenam os nomes das colunas, assim como as strings que armazenam os dados retornados pelo servidor. Por padrão, as constantes estão configuradas para armazenar 15 linhas, 10 colunas, strings de 200 caracteres dentro do array de dados (asTableQuery) e 40 caracteres no array com os nomes das colunas.

 


Código de demonstração de leitura

O código abaixo exemplifica uma operação de leitura no banco de dados através do Nexto utilizando a linguagem ST. É importante notar alguns pontos importantes do código abaixo:

Na operação de leitura é importante destacar a adição da variável QD do tipo QUERY_DATA para armazenar os dados lidos pela query.

Após configurar todos os parâmetros e compilar a aplicação, a operação no banco se dará na borda de subida da variável "xExec", e a variável "xError" permanecerá em FALSE. Caso a mesma venha a se tornar TRUE, algum erro ocorreu na operação, que pode ser visualizado na variável "msgError". 




Escrevendo em um banco de dados SQL:

Nesta seção, iremos escrever em um banco de dados criado no Microsoft SQL, utilizando o comando `insert`.

Primeiramente, abra o Microsoft SQL Server e na opção `Autenticação`, escolha `Autenticação do SQL Server`. Preencha seu login e senha e clique em `Conectar`.


Conectado ao servidor, clique em `Nova Consulta` para criar a tabela que será escrita através dos comandos do MasterTool IEC XE.



Na aba que será aberta, escreva o programa da imagem abaixo e clique em `Executar` para que a tabela seja criada.


Com a tabela devidamente criada, abra um novo projeto no MasterTool IEC XE 3.20, inclua a biblioteca `LibSQLClient` conforme visto no início deste tutorial, crie uma nova POU em texto estruturado e então escreva o programa da imagem abaixo nesta POU criada:

Obs.: Na variável sServer (sublinhado em vermelho) deve ser colocado o IP do computador onde o banco de dados Microsoft SQL está operando.


Passe a variável `xExec` para TRUE (através da opção de forçar valores ou vinculado-a à uma chave física em uma entrada digital), pois ela irá ativar a variável `EXECUTE`, enviando o comando `insert` para o banco SQL.

Por fim, abra uma `Nova Consulta` no Microsoft SQL Server e escreva o programa abaixo:


O comando `select` irá exibir a tabela atualizada. Para isso, após escrever o programa acima, clique em `Executar`.


O valor enviado pelo MasterTool foi escrito corretamente na tabela do banco de dados.



Você também pode consultar um tutorial de como instalar o banco de dados MSSQL na sua máquina presente na seção de downloads.


ARQUIVO BAIXAR
Como instalar banco MSSQL Português
Exemplo de aplicação Português

Ficou com dúvidas? Então clique no botão abaixo e fale com a gente!

ENVIE SUA DÚVIDA

Esta publicação foi relevante para você? Avalie o material para que possamos continuar melhorando.

Clique para gravar a avaliação
Gostou? Então compartilhe



Assine nossa newsletter e saiba tudo sobre automação!

Receba novidades sobre o mercado da automação, nossas soluções e as ações mais recentes envolvendo a Altus diretamente no seu e-mail.