Как связать две разные базы данных в одном nodejs приложении? - PullRequest
1 голос
/ 23 января 2020

В моем приложении nodejs мне нужно получить данные из одной таблицы, которая находится на одном хосте, и после обработки этих данных мне нужно сохранить их в другой таблице, которая находится на другом хосте. Оба MS sql базы данных. Я попытался так:

В конфигурации. js

var config = {
    config1: {
        uid: '****',
        pass: '****',
        host: 'server1',
        db: '****',
        requestTimeout: 999999999,
        options: {
            encrypt: true
        }
    },

    config2: {
        uid: '****',
        pass: '****',
        host: 'server2',
        db: '****',
        requestTimeout: 999999999,
        options: {
            encrypt: true
        }
    },

    serverPort: 5000,

}

module.exports = config;

Затем я попытался подключиться следующим образом:

var connection1;
var connection2;

var testConnect = function (host, uid, pass, db, reqTimeout) {
    var conf = {
        user: uid,
        password: pass,
        server: host,
        database: db,
        requestTimeout: reqTimeout,
        options: {
            encrypt: true
        }
    };
    var conn = mssql.connect(conf, function (err) {
        if (err) {
            console.log(err);
            return;
        }
    });

    if (host == "server1") {
        connection1 = new mssql.Request(conn);
    } else {
        connection2 = new mssql.Request(conn);
    }
    console.log(host);
}


testConnect(config.config1.host,config.config1.uid,config.config1.pass,config.config1.db,
    config.config1.requestTimeout);

testConnect(config.config2.host,config.config2.uid,config.config2.pass,config.config2.db,
    config.config2.requestTimeout);


Но выдает эту ошибку:

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

Я не могу закрыть соединение, потому что есть другие процессы, использующие эти базы данных.

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