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浏览器服务正在运行,因为这是将请求处理到服务器。
那一个难倒了我一段时间