我正在创建一个与数据库连接的非常简单的应用程序。我连接成功,我可以进行查询,但每次X都会出错。
我的小应用程序包含以下代码:
var mssql = require("mssql")
mssql.connect({
"user": "someUSer",
"password": "userPass",
"database": "someDb",
"server": "someServer",
"options": { "encrypt": true },
"pool": {
"max": 100000,
"min": 1,
"idleTimeoutMillis": 50,
"evictionRunIntervalMillis": 5,
"softIdleTimeoutMillis": 5
}
})
.then( () => {
return mssql.query`SELECT TOP 2 Number FROM Devices`;
})
.then( console.log )
.catch( console.error );
此代码有效。它成功打印了给定表的前2个设备号。
但是有一个问题。
每隔X秒我就会打印出以下错误:
错误:无法连接到DB_ADDRESS 15000ms 在Connection.tedious.once.err(/home/service/apps/teltonika-parser/node_modules/mssql/lib/tedious.js:216:17) at Object.onceWrapper(events.js:293:19) 在emitOne(events.js:96:13) 在Connection.emit(events.js:191:7) 在Connection.connectTimeout(/home/service/apps/teltonika-parser/node_modules/tedious/lib/connection.js:795:12) 在ontimeout(timers.js:386:14) 在tryOnTimeout(timers.js:250:5) 在Timer.listOnTimeout(timers.js:214:5)
奇怪的是,我的所有连接似乎都有效,即我可以进行查询,DB会正常回答它们。
起初我认为密码,用户或这些行中的某些内容存在问题。虽然这对我来说没有意义(因为我可以查询数据库),但我仔细检查了一切都很好。
然后我认为这是我的应用程序中Promise的问题。在构建这个MWE之后,我得出结论不能。
可能导致此重复出错的原因是什么?
答案 0 :(得分:0)
显然,Azure的数据库服务存在问题。除此之外,我们的数据库基本上是100%。
这解释了长时间的延迟和连接失败,尽管如果有更多关于它失败原因的更多信息会更好。