建立nodejs mysql连接时出现问题

y1aodyip  于 2021-06-23  发布在  Mysql
关注(0)|答案(3)|浏览(418)

我试图在nodejs服务器和mysql数据库之间建立一个简单的连接(使用microsoftsqlservermanagerstudiov14),下面是我的代码和出现在控制台窗口中的错误消息。
这是我的密码:

  1. var express = require('express');
  2. var app = express();
  3. var sql = require("mssql");
  4. app.get('/', function (req, res) {
  5. // config for your database
  6. var config = {
  7. user: 'superadmin',
  8. password: '***',
  9. server: 'localhost',
  10. database: 'XXX'
  11. };
  12. // connect to your database
  13. sql.connect(config, function (err) {
  14. if (err) console.log(err);
  15. // create Request object
  16. var request = new sql.Request();
  17. // query to the database and get the records
  18. request.query('select * from Schools', function (err, recordset) {
  19. if (err) console.log(err)
  20. // send records as a response
  21. res.send(recordset);
  22. });
  23. });
  24. });
  25. var server = app.listen(5000, function () {
  26. console.log('Server is running..');
  27. });

我得到的错误如下所示:

  1. Server is running..
  2. tedious deprecated The default value for `options.encrypt` will change from `false` to `true`. Please pass `false` explicitly if you want to retain current behaviour. node_modules\mssql\lib\tedious.js:212:23
  3. { ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
  4. at Connection.tedious.once.err (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\mssql\lib\tedious.js:216:17)
  5. at Object.onceWrapper (events.js:275:13)
  6. at Connection.emit (events.js:182:13)
  7. at Connection.socketError (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connection.js:1004:14)
  8. at C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connection.js:869:25
  9. at SequentialConnectionStrategy.connect (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connector.js:154:9)
  10. at Socket.onError (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connector.js:170:16)
  11. at Socket.emit (events.js:182:13)
  12. at emitErrorNT (internal/streams/destroy.js:92:8)
  13. at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
  14. code: 'ESOCKET',
  15. originalError:
  16. { ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
  17. at ConnectionError (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\errors.js:12:12)
  18. at Connection.socketError (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connection.js:1004:30)
  19. at C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connection.js:869:25
  20. at SequentialConnectionStrategy.connect (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connector.js:154:9)
  21. at Socket.onError (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\tedious\lib\connector.js:170:16)
  22. at Socket.emit (events.js:182:13)
  23. at emitErrorNT (internal/streams/destroy.js:92:8)
  24. at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
  25. at process._tickCallback (internal/process/next_tick.js:174:19)
  26. message: 'Failed to connect to localhost:1433 - Could not connect (sequence)',
  27. code: 'ESOCKET' },
  28. name: 'ConnectionError' }
  29. { ConnectionError: Connection is closed.
  30. at Request._query (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\mssql\lib\base.js:1299:37)
  31. at Request._query (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\mssql\lib\tedious.js:497:11)
  32. at Request.query (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\mssql\lib\base.js:1242:12)
  33. at C:\Users\smr09\Desktop\Code\ou\db_test\test.js:24:17
  34. at _poolCreate.then.catch.err (C:\Users\smr09\Desktop\Code\ou\db_test\node_modules\mssql\lib\base.js:269:7)
  35. at process._tickCallback (internal/process/next_tick.js:178:7) code: 'ECONNCLOSED', name: 'ConnectionError' }

我对这方面比较陌生,尤其是在处理数据库方面。有人能解释一下这个错误是什么意思吗?

gopyfrb3

gopyfrb31#

将此行添加到配置:

  1. options: {
  2. encrypt: false
  3. }

它最终看起来像:

  1. var config = {
  2. user: 'superadmin',
  3. password: '***',
  4. server: 'localhost',
  5. database: 'XXX' ,
  6. options: {
  7. encrypt: false
  8. }
  9. };
polkgigr

polkgigr2#

您的错误:
connectionerror:未能连接到localhost:1433 - 无法连接(序列)
我的问题通过添加端口解决了

  1. var config = {
  2. user: 'superadmin',
  3. password: '***',
  4. server: 'localhost',
  5. database: 'XXX',
  6. port: '',
  7. };
zfycwa2u

zfycwa2u3#

尝试在您的配置{}中输入encrypt:false,它会工作的。

相关问题