Node.js + mssql:错误:全局连接已存在。首先调用sql.close()

时间:2017-09-13 09:24:57

标签: javascript sql-server node.js database

多次询问有关此错误的问题,但我无法在那里找到解决方案。

我正在尝试同时运行两个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调用?

0 个答案:

没有答案