如何使用Windows身份验证连接到Sql Express?

时间:2019-01-19 01:20:12

标签: javascript node.js sql-server

我有一个.env文件,其中包含以下内容,并且我正在使用繁琐的连接池。

SQL_SERVER=localhost
SQL_UNAME=US\JENNY
SQL_PSWD=Windows password
SQL_DB=DatabaseName

但是出现如下所示的登录失败错误:

  

ConnectionError:用户'US \ JENNY'登录失败

下面是我的dbconfig文件

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

module.exports = {
    userName: process.env.SQL_UNAME,
    password: process.env.SQL_PSWD,
    server: process.env.SQL_SERVER,
    options: {
        instanceName: 'SQLEXPRESS',
        encrypt: false,
        database: process.env.SQL_DB,
        rowCollectionOnDone: true,
        useColumnNames: true // for easier JSON formatting
   }
};

1 个答案:

答案 0 :(得分:1)

不确定您使用的是哪个版本的Tedious。之所以提出它,是因为userName和password已移至身份验证部分,因此您当前的配置将向您发送弃用警告。

但是,如果使用的是当前版本,则身份验证部分还具有可以设置为ntlm的authentication.type设置。有关详细信息,请参见http://tediousjs.github.io/tedious/api-connection.html#function_newConnection

以下连接配置适用于我的基于Windows的登录名:

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
        }
    }
}