Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como se conectar ao SQL Server com autenticação do Windows do Node.JS usando o módulo mssql


Como essa é uma resposta bastante visível, queria adicionar um trecho de código que funcionou para mim com o Trusted Connection. Cheguei a isso a partir da resposta editada de getglad.
const sql = require("mssql");
require("msnodesqlv8");
const conn = new sql.Connection({
  database: "db_name",
  server: "server_name",
  driver: "msnodesqlv8",
  options: {
    trustedConnection: true
  }
});
conn.connect().then(() => {
  // ... sproc call, error catching, etc
  // example: https://github.com/patriksimek/node-mssql#request
});

Usando uma conexão confiável, consegui executar procedimentos armazenados, registrar a saída e fechar a conexão sem nenhum problema, e o msnodesqlv8 foi atualizado mais recentemente do que qualquer um dos outros drivers (a versão mais recente foi de outubro de 2016 em 3/11/2016 ), de modo que parece ser uma escolha segura também.

E aqui está um exemplo usando [email protected] As únicas mudanças são o require inicial, que extrai msnodesqlv8 de dentro de mssql, e sql.Connection agora é sql.ConnectionPool. Você também precisará alterar suas chamadas de procedimento armazenado, pois a resposta é diferente, observada aqui. Crédito para a resposta de Jon, pois ele atualizou a minha antes de mim!
const sql = require("mssql/msnodesqlv8");
const conn = new sql.ConnectionPool({
  database: "db_name",
  server: "server_name",
  driver: "msnodesqlv8",
  options: {
    trustedConnection: true
  }
});
conn.connect().then(() => {
  // ... sproc call, error catching, etc
  // example: https://github.com/patriksimek/node-mssql#request
});