Как сделать запрос переподключения к БД в транспортире - PullRequest
0 голосов
/ 26 октября 2018

Я использую платформу транспортира огурца. У меня есть запрос sql в моем скрипте транспортира. В котором я использовал соединение закрытия в 1-м запросе и пытаюсь подключиться снова для выполнения следующего запроса, чтобы избежать max.requset ограничение на DB.my sql запроса приведено ниже

var Connection = require('tedious').Connection;
var Request = require('tedious').Request;
var config = 
{
 userName: 'xxxxx', 
 password: 'xxxxxx', 
 server: 'xxxxxx', 
 options: 
    {
       database: 'xx' ,
       encrypt: true,
       rowCollectionOnRequestCompletion: true
    }
 }
 var connection2 = new Connection(config);

connection2 = new Connection(config);
 connection2.on('connect', function(err) {
  if (err){
  connection2.close();
  }
 else{
  request3 = new Request("UPDATE Location SET  Location= 'LIVE' WHERE Id ="+ID,function(err,rowCount, rows) {  
     if(err){
       connection2.close();
     }
     connection2.close();
});
connection2.execSql(request3);
}  });

для следующего запроса. Я пытаюсь подключиться снова так же, как это. Но 2-й запрос не выполняется и процесс завершается. Так у нас есть другой синтаксис для переподключения? Заранее спасибо

1 Ответ

0 голосов
/ 26 октября 2018

Просто попробуйте закрыть соединение и пул транзакций.

Это прекрасно работает для меня.

 (async () => {
        const config = {
            user: 'User',
            password: 'iPg$',
            server: 'cp-sql',
            database: 'DBI',
            options: {
                encrypt: true // Use this if you're on Windows Azure
            }
        }
        try {

            let pool = await sql.connect(config)
            var envcode, testcode;
            let result1 = await pool.request()
                .query(`query 1 goes here`)
            // console.dir(result1)
            pool.close();
            sql.close();
            let pool1 = await sql.connect(config)
            let result2 = await pool1.request()
                .query(`query 2 goes here`)
            // console.dir(result2)
            pool1.close();
            sql.close();
            resolve(result2);
        } catch (err) {
            console.log(err)
        }
    })()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...