mssql nodejs trustedSecurity

时间:2016-04-26 13:54:35

标签: sql-server node.js

所以我一直在尝试使用 nodejs 中的 mssql 使用可信连接(Windows身份验证)连接到我的SQL数据库,但到目前为止没有运气。

我有以下配置:

var express = require('express');
var config = {};

config.mssql = {
    server: 'CLT-GFI-0278',
    database: 'Interview',
    options: {
        trustedConnection: true
    }
};

module.exports = config;

config.js 中进行此操作后,我继续将其集成到我想要在 mssql 中使用的文件中

var express = require('express');
var router = express.Router();
var sql = require('mssql');

var config = require('./../config');
sql.connect(config, function (err) {
    console.log(err);
});

router.get('/getYear/:year', function (request, response) {
    sql.Request()
        .query('select * from SomeTable')
        .then(function(recordsets) {
            console.dir(recordsets);
        })
        .catch(function(err) {
            console.log(err.message);
        });
    response.send();
});

module.exports = router;

但是当我运行应用程序时,我得到以下回复: TrustedConnection not working

有没有人可以指导我在trustedConnection工作的方向?我知道我可以创建一个用户并授予它权限,但我想让它像这样运行。非常感谢提前

1 个答案:

答案 0 :(得分:1)

我在同样的问题上挣扎并在某处阅读

  

默认情况下无法使用Windows身份验证。

您必须使用登录名/密码组合登录或使用edge包。

https://github.com/tjanczuk/edge

https://github.com/tjanczuk/edge-sql

示例:

var edge = require('edge');
var params = {
    connectionString: "Server=YourServer;Database=YourDB;Integrated Security=True",
    source: "SELECT TOP 20 * FROM SampleData"
};  
var getData = edge.func( 'sql', params);

getData(null, function (error, result) {
    if (error) { console.log(error); return; }
    if (result) {
        console.log(result);
    }
    else {
        console.log("No results");
    }
});