Nodejs mssql ConnectionError:用户login失败

这是我的代码:

var sql = require("mssql"); var dbConfig = { server: "server", username: "user", password: "password", database: "database" }; function getEmp() { var conn = new sql.Connection(dbConfig); console.log(conn); var req = new sql.Request(conn); conn.connect(function (err) { if (err) { console.log(err); return; } req.query("SELECT * FROM Alg.User", function (err, recordset) { if (err) { console.log(err); return; } else { console.log(recordset); } conn.close(); }); }); } getEmp(); 

这是我正在logging的错误:

  { ConnectionError: Login failed for user ''. at Connection.<anonymous> (c:\users\milan\documents\visual studio 2015\Projects\SampleSQLConn\SampleSQLConn\node_modules\mssql\lib\tedious.js:378:25) at Connection.g (events.js:291:16) at emitOne (events.js:96:13) at Connection.emit (events.js:188:7) at Connection.processLogin7Response (c:\users\milan\documents\visual studio 2015\Projects\SampleSQLConn\SampleSQLConn\node_modules\tedious\lib\connection.js:672:16) at Connection.message (c:\users\milan\documents\visual studio 2015\Projects\SampleSQLConn\SampleSQLConn\node_modules\tedious\lib\connection.js:1082:21) at Connection.dispatchEvent (c:\users\milan\documents\visual studio 2015\Projects\SampleSQLConn\SampleSQLConn\node_modules\tedious\lib\connection.js:519:45) at MessageIO.<anonymous> (c:\users\milan\documents\visual studio 2015\Projects\SampleSQLConn\SampleSQLConn\node_modules\tedious\lib\connection.js:439:23) at emitNone (events.js:86:13) at MessageIO.emit (events.js:185:7) name: 'ConnectionError', message: 'Login failed for user \'\'.', code: 'ELOGIN' } 

任何人都知道我在做什么错了? 它看起来像我的variables用户名不放在连接string? 但我不知道为什么…

提前致谢!

解:

问题是在dbConfig中,用户名variables应该改成user! 而且sql查询也是错误的,应该是[Alg]。[User],因为'User'是关键字!

请在您的configuration中将“用户名”设置为“用户”。 如果您尝试console.log(conn),您将看到configuration使用“user”而不是userName。

我已经回答了这个问题,请参考SQL Server错误“[ConnectionError:login失败的用户'****'。]”“时使用MSSQL连接SQL Server与Nodejs

这为我工作:而不是

 var sql = require("mssql"); 

我将其更改为var sql = require("mssql/msnodesqlv8");

我没有硬编码的用户名/密码。 这是我的dbconfig看起来像:

 var db_config = { driver: "msnodesqlv8", server: "ServerName", database: "databaseName", options: { trustedConnection: true, useUTC: true } } 

希望这有助于某人

对于Google查看者…

如果上述解决scheme不适合你。 您应该检查计算机中的SQL Server浏览器服务正在运行,因为这是将请求处理到服务器。

那一个难倒了我一段时间