2012-08-07 100 views
1

什么是使用SQL Server驱动程序在Windows上使用Node.js解决此错误的正确方法。Node.js SQL Server驱动程序问题 - 如何排除故障

events.js:2549:未捕获的错误:42000:[微软] [SQL Server本机客户端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]); 
      }); 
     }); 
    } 
}); 

回答

0

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

要解决: 我将使用节点检查 - 它允许设置断点到您的Node.js代码

进行安装: NPM安装-g节点检查

要运行它: 节点--debug您-nodeapp-file.js

启动另一个命令行并运行以下程序: 节点检查

对不起,但我没有SQL Server来尝试你的代码,无论如何希望这个帮助。