1

使用 SQL Server 驱动程序在 Windows 上使用 Node.js 解决此错误的正确方法是什么。

events.js:2549:未捕获错误:42000:[Microsoft][SQL Server Native Client 11.0]语法错误、权限冲突或其他非特定错误

  • 它不是 SQL 语句 - 它适用于其他工具 - 例如 .NET
  • 似乎不是 SQL 连接信息 - 它适用于其他工具 - 例如 .NET

有什么想法吗?完全卸载 node.js 并重新开始的正确方法是什么。我不认为我上次安装删除了我所有的全局模块。

var sql = require('node-sqlserver');
var _ = require('underscore')._;

var connstr = "Driver={SQL Server Native Client 11.0};Server=localhost;" +
            "Initial Catalog=CDDB;Trusted_Connection={Yes}";

sql.open(connstr, function (err, conn) {
    if (err) {
        console.log("Error opening the connection");
        return;
    } else {
        var stmt = "select top 10 * from Client";
        conn.query(connstr, stmt, function (err, results) {
            if (err) {
                console.log("Error running query!");
                return;
            }
            _.each(results, function (row) {
                console.log(row[0]);
            });
        });
    }
}); 
4

1 回答 1

0

第一个想法:运行您的 node.exe 进程的用户和在您的应用程序池中定义的用户是否相同?或者如果您使用 VS.NET 检查您的代码,您当前的用户帐户是否相同?

排除故障:我会使用 node-inspector - 它允许在你的 node.js 代码上设置断点

安装它: npm install -g node-inspector

运行它: node --debug your-nodeapp-file.js

启动另一个命令行并运行以下程序:node-inspector

抱歉,我没有 SQL Server 来尝试您的代码,无论如何希望这对您有所帮助。

于 2012-08-08T01:05:03.090 回答