首页 > 解决方案 > 尝试使用繁琐的连接和 Windows 身份验证连接到 SQL 服务器?

问题描述

我正在尝试使用繁琐的连接池和 Windows 身份验证连接到 SQL Server。但我收到一个错误:

消息:'用户\'\'登录失败。',代码:'ELOGIN'

我不确定我做错了什么。我正在使用最新版本的乏味。

.env 文件

SQL_SERVER=localhost
SQL_UNAME=Username
SQL_PSWD=Password
SQL_DB=DatabaseName
SQL_DOMAIN=US

dbController.js

const {Request} = require('tedious');
const TYPES = require('tedious').TYPES;
const ConnectionPool = require('tedious-connection-pool');
const dbConfig = require('./dbconfig');

const poolConfig = {
    min: 1,
    max: 1,
    log: true
};

let _rows = [];
const pool = new ConnectionPool(poolConfig, dbConfig);

pool.on('error', (err) => {
    console.log(err);
});

dbConfig.js

const dotenv = require('dotenv');
dotenv.config();

module.exports = {
    server: process.env.SQL_SERVER,
    options: {
    instanceName: 'SQLEXPRESS',
    encrypt: false,
    database: process.env.SQL_DB,
    rowCollectionOnDone: true,
    useColumnNames: true
    },
    authentication: {
        type: 'ntlm',
        options: {
            userName: process.env.SQL_UNAME,
            password: process.env.SQL_PSWD,
            domain: process.env.SQL_DOMAIN
        }
   }
};

标签: javascriptsqlsql-servertedious

解决方案


问题是tedious-connection-pool使用tedious版本 1 而不是tedious版本 9。

我希望tedious-connection-pool2根据我发现从未在上游合并的 PR 来解决这个问题。

所以,等一天,找到我的tedious-connection-pool2并使用overrideTedious应该工作的选项。


推荐阅读