首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSNodeSQL和IISNode

MSNodeSQL和IISNode
EN

Stack Overflow用户
提问于 2013-11-11 09:26:19
回答 1查看 857关注 0票数 3

我正在使用Node和IIS (IISNode)和微软的MS驱动程序包(MSNodeSQL)来创建一个http服务器。通过http服务器访问我的数据库时,我在尝试连接到MS SQL数据库时出现以下错误:

代码语言:javascript
复制
error { [Error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified] sqlstate: 'IM002', code: 0 }

但是,如果我尝试在没有http服务器的情况下本地访问我的服务器上的数据库,那么它连接得非常好。显然已经安装了ODBC驱动程序。

下面是我的代码:

代码语言:javascript
复制
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); 

我有一种感觉,这可能是权限的问题,因为它在本地工作,而不是远程工作,但我不完全确定。此外,在本地时,Node是在不同的用户下执行的,而不是IISNode使用的IIS_IUSR。

任何帮助都是最好的,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-10-24 23:23:31

我尝试过Node-MSSQL,它非常好,使用起来非常简单,而且它成功地连接并获取数据,但它只在sql身份验证上起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19897483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档