使用 msnodesqlv8 的节点信任连接

Node trusted connection using msnodesqlv8

我正在尝试使用 msnodesqlv8 驱动程序连接到 SQL 服务器。现在我在尝试连接 msql 驱动程序之前遇到错误(TypeError:sql.connect 不是函数)并且我得到了响应,但我确实需要使用受信任的连接。 我的代码:

    var express = require('express');
    var app = express();

    app.get('/', function (req, res) {


    var sql = require("msnodesqlv8");
    console.log(sql);
    // config for your database
    var config = {
        server: 'sqlServername', 
        database: 'myTestDatabase',
        driver: "msnodesqlv8",
        options: {
          trustedConnection: true
        } 
    };

    // connect to your database
    sql.connect(config, function (err) {

        if (err) console.log(err);

        // create Request object
        var request = new sql.Request();

        // query to the database and get the records
        request.query('select * from myTable', function (err, recordset) {

            if (err) console.log(err)

            // send records as a response
            res.send(recordset);

        });
    });
});

    var server = app.listen(5000, function () {
        console.log('Server is running..');
    });

是否有任何其他驱动程序可以使用可信连接? 我正在使用 sql 服务器 12.0.4237.0

我也试试这个

    const sql = require('mssql/msnodesqlv8');
const config = {
    user: "xxxxxxxx",
    password: "xxxxxxxxx",
    domain: "xxxxxxx.com",    
    server: 'hubuddb66',
    database: 'KSheduler',
    pool: {
        max: 10,
        min: 0,
        idleTimeoutMillis: 30000        
    },
    options: {
        trustedConnection: true
      } 
}


sql.connect(config)
.then(conn => console.log("Success!"))
.catch(err => console.log("error! " + err));

我收到此错误:

ConnectionError:[Microsoft][SQL Server Native Client 11.0][SQL Server] 用户 'domainxxx\userxxxx'.

登录失败

阅读documentation;没有这个功能。

您正在寻找 sql.open()

如果您尝试连接到 MySQL 服务器,您可以使用 Sequelizejs,您可以找到文档 here, If you're trying to connect to MSSQl using msnodesqlv8 you can use sql.open(connStr, callback(err, conn)). you can find examples here

在这两种情况下,请确保您的 MySQL 或 MSSQL 服务器是 运行。 您还可以使用 Sequelizejs 连接到 MSSQL。

对我来说,将此条件从 'No' 更改为 'Yes' 有效:

switch (key) {
  case 'instance':
    return this.config.options.instanceName
  case 'trusted':
    return this.config.options.trustedConnection ? 'Yes' : 'Yes'

即使我提供了它,它也不会从选项对象加载值。

我在文件 \node_modules\mssql\lib\msnodesqlv8\connection-pool.js

中硬编码了此更改