Node-MSSQL, Создать пул для нескольких запросов в функции module.exported - PullRequest
0 голосов
/ 26 марта 2019

Пытаясь использовать node-sql, я получаю сообщение об ошибке -

Global connection already exists. Call sql.close() first.

Я просмотрел документы, но не могу понять, как преобразовать это в соединение с пулом.Этот код работает нормально для одного обновления за раз.

Я создал функцию, которая вызывается сотни раз для обновления строки в sql, по крайней мере, такова цель.

Использованиестандартный пример кода

const sql = require('mssql')

var config = {
  user: 'user',
  password: 'pw',
  server: 'AzureServerAddress',
  database: 'DB',
  options: {
    encrypt: true // if  on Windows Azure
  },
  parseJSON: false,
  pool: {
    max: 10,
    min: 0,
    idleTimeoutMillis: 60000
  }
}

function updateSQL(input) {
  return new Promise(function (resolve, reject) {
    var results = []
    sql.connect(config, err => {
      // ... error checks
      const request = new sql.Request()
      let data = []
      request.input('t1', sql.Int, input.Folder_ID)
      request.input('t2', sql.Int,  input.PR_ID)
      request.stream = true 
      request.query('update table1 set t1= @t1 where t2= @t2') 
      request.on('done', result => {
        sql.close()
        console.log(result.rowsAffected)
        resolve(results)
      })
    })
  }).catch(error => log.i(`${fn} error ${error}`));
}

module.exports.updateSQL = updateSQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...