我使用mssql node.js module连接SQL Server 2005。
我在使用1.1.0版本时工作正常,但是当我今天升级到新版本(3.3.0)时它停止工作并开始抛出连接超时错误。
经过一些反复试验后,我发现如果从选项中删除encrypt: true
,则可以正常运行。
我仍然希望加密连接,所以想知道是否有人可以解释为什么会发生这种情况,以及是否有办法解决这个问题?
失败的代码基本上是这样的:
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;
我得到的错误是:
连接错误:无法连接到[服务器IP]:1533毫秒内的1433