简体   繁体   English

MSNodeSQL和IISNode

[英]MSNodeSQL & IISNode

I am using Node JS with IIS (IISNode) and Microsoft's MS SQL driver package (MSNodeSQL) to create a http server. 我使用Node JS与IIS(IISNode)和Microsoft的MS SQL驱动程序包(MSNodeSQL)来创建一个http服务器。 When accessing my database via the http server I get the following error when attempting to connect to the MS SQL database: 通过http服务器访问我的数据库时,尝试连接到MS SQL数据库时出现以下错误:

error { [Error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified] sqlstate: 'IM002', code: 0 }

But if I try to access the database locally on my server without the http server, then it connects perfectly fine. 但是,如果我尝试在没有http服务器的情况下在我的服务器上本地访问数据库,那么它连接完全正常。 The ODBC driver is obviously installed. 显然安装了ODBC驱动程序。

Here is my code: 这是我的代码:

var http = require('http');
var sql = require('msnodesql');
var conn_str = "Driver={SQL Server Native Client 11.0}; Server=***; Database=***; UID=***; PWD=***;";

var blah = "";
http.createServer(function (req, res) {

    sql.open(conn_str, function (err, conn) {
        if (err) {
            console.log("error", err);
            res.end("error");
            return;
        }

        conn.queryRaw("SELECT * FROM ProductLinks", function (err, results) {
            if (err) {
                res.end('failed2');
                return;
            }
            for (var i = 0; i < results.rows.length; i++) {
                blah += "Id: " + results.rows[i][0] + " Name: " + results.rows[i][1] + " Text: " + results.rows[i][2] + " Link: " + results.rows[i][3];
            }
            res.writeHead(200, {'Content-Type': 'text/html'});
            res.end(blah);
        });
    });
}).listen(process.env.PORT); 

I have a feeling it may be down to permissions somewhere since it works locally and not remotely, but I'm not entirely sure. 我觉得它可能属于某个地方的权限,因为它在本地运行而不是远程,但我不完全确定。 Plus when locally, Node JS is being executed under a different user as opposed to IIS_IUSR which IISNode uses. 另外,在本地,Node JS是在不同的用户下执行的,而不是IISNode使用的IIS_IUSR。

Any help would be great, thanks! 任何帮助都会很棒,谢谢!

我尝试过Node-MSSQL它非常好用且非常简单,它已连接并成功获取数据,但它仅适用于sql身份验证

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM