使用msnodesqlv8节点可信连接

时间:2017-10-27 15:11:37

标签: sql node.js npm connection

我正在尝试使用msnodesqlv8驱动程序连接到SQL Server。现在我在尝试连接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 server 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'登录失败。

3 个答案:

答案 0 :(得分:3)

阅读documentation;没有这样的功能。

您正在寻找sql.open()

答案 1 :(得分:3)

如果您正在尝试连接到MySQL服务器,您可以使用Sequelizejs,您可以找到文档here,如果您尝试使用msnodesqlv8连接到MSSQl,则可以使用sql.open(connStr, callback(err, conn))。你可以找到例子here

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

答案 2 :(得分:0)

对我来说,将此条件从“否”更改为“是” 有效:

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

中硬编码了这个更改
相关问题