Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística Recintos Aduaneiros

Linha de Produto:

Linha Logix

Segmento:

Logística

Módulo:Serviço de autenticação OAuth2
Função:Serviço de autenticação OAuth2
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :
  1. DLOGPORTOS-15862
  2. DLOGPORTOS-16151


02. SITUAÇÃO/REQUISITO

Para atendimento da demanda de autenticação, para o produto TOTVS Recintos Aduaneiros, através do protocolo OAuth2 foi estabelecida a componentização da conexão com o banco de dados Microsoft SQL Server. Foi adotada a técnica de componentização para que a conexão seja reaproveitada em outros projetos que sejam desenvolvidos sobre Node.JS.

03. SOLUÇÃO

A conexão é feita através da biblioteca Tedious, a qual disponibiliza um conector nativo com o servidor de banco de dados. Esta solução é dependente do componente DotEnv, o qual permite criar arquivos de configuração .env para armazenar as informações de parametrização da conexão.

São métodos exportados pela conexão:

  • connect
  • connected
  • close
  • beginTransaction
  • commit
  • rollback
  • execSQL(sql)
  • execProc(procName, params)
  • openSQL(sql)
  • openProc(procName, params)

Para utilização da conexão em aplicações Node.JS, seguem exemplos de uso deste componente.


Execução de uma instrução DML:

Execução de instrução DML
let sql = "insert into tab_exemplo(id, descricao) values (1, 'Texto de exemplo')";
const connection = require('../components/connection');
connection.execSQL(sql).then(rowCount => {
  console.log('Linhas afetadas: %d', rowCount);
}).catch(error => {
  console.log(error.message);
});

Execução de instrução SQL:

Execução de instrução SQL
let sql = "select * tab_exemplo";
const connection = require('../components/connection');
connection.openSQL(sql).then(resultSet=> {
  console.log(JSON.stringfy(resultSet));
}).catch(error => {
  console.log(error.message);
});


04. DEMAIS INFORMAÇÕES

Para uma perfeita utilização desta solução, o projeto deve atender os seguintes requisitos:

  1. Conter um arquivo .env na raiz do diretório do projeto e;
  2. O arquivo .env deve conter, ao menos, estes parâmetros:
    1. APP_NAME
    2. DB_AUTH_TYPE
    3. DB_DATABASE
    4. DB_ENCRYPT
    5. DB_HOSTNAME
    6. DB_INSTANCE
    7. DB_PASSWORD
    8. DB_USERNAME

05. ASSUNTOS RELACIONADOS