2012-08-07 94 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來嘗試你的代碼,無論如何希望這個幫助。