使用mssql模块为SQL Server连接使用“encrypt:true”时超时
我正在使用mssql node.js模块来连接SQL Server 2005。
当我开始使用1.1.0版时,它曾经工作得很好,但是当我今天升级到新版本(3.3.0)时,它停止工作并开始抛出Connection Timeout错误。
经过一些试验和错误,我发现,如果我从选项中删除encrypt: true
,它的工作原理。
我仍然希望将连接encryption,所以想知道有没有人可以解释为什么发生这种情况,如果有什么方法可以解决这个问题呢?
这个失败的代码本质上是这样的:
var sql = require('mssql'); var router = express.Router(); router.use(function(req, res, next){ // Add database connection var connection = new sql.Connection(sqlConfig: { user: 'username', password: 'password', server: 'IP address', database: 'database name', options: { encrypt: true } }, function(err) { if (err) { logger.error('Connection error: ' + err.message); res.sendStatus(400); } else { req.connection = connection; next(); } }); }); module.exports = router;
我得到的错误是:
连接错误:在15000毫秒内无法连接到[服务器IP]:1433