多次询问有关此错误的问题,但我无法在那里找到解决方案。
我正在尝试同时运行两个SQL请求:
var azure = require('mssql');
var pool; // connection will be cached here
// ...
var db = {
runSqlQuery: async function (statement) {
try {
pool = pool || await azure.connect(this.connectionString);
var request = new azure.Request(pool);
var results = await request.query(statement);
pool.close();
return results;
} catch (err) {
if (pool) {
pool.close();
}
return null;
}
}
两个SQL请求同时运行,这似乎互相干扰,因为我无法同时打开两个连接。
所以我在我的模块中全局缓存开放的SQL连接:
runSqlQuery()
我看到它的方式,应该在第一次调用runSqlQuery()
时打开连接,然后它应该重新用于第二次调用。
显然这不是发生的事情,因为我在第二次尝试运行for i in range(1,i <= n,1):
for j in range(1,j <= i,1):
时仍然遇到此异常:
错误:全局连接已存在。首先调用sql.close()。
我怎样才能同时进行两次SQL调用?