同时打开多个然后1个连接MSSQL-NODE

时间:2018-10-10 12:43:02

标签: node.js sql-server

我在npm上使用mssql

https://www.npmjs.com/package/mssql 首先,我只需要插入一张桌子。 所以这就是我的用法:

const pool_db1 = await sql.connect(config);
pool.request()
.input('input_parameter',element.CustomerID)
.query('INSERT ..')

现在我需要为位于不同数据库中的另一个表插入一些数据。

所以基本上我有2个配置文件。 我试图添加

    const pool_db1 = await sql.connect(config);
    const pool_db2 = await sql.connect(config2);

我知道我可以先通过SQL.close()连接,然后再通过sql.connect()连接,  但是我想要另一个解决方案,因为对表的这种INSERT对于更多表(在同一连接中)是异步发生的, 所以我需要那些2连接要打开,但是它似乎要打开2连接。 错误如下:

  

(节点:13888)UnhandledPromiseRejectionWarning:未处理的承诺   拒绝(拒绝ID:1):错误:全局连接已存在。   首先调用sql.close()。 warning.js:18(节点:13888)[DEP0018]   DeprecationWarning:已弃用未处理的承诺拒绝。在   未来,未处理的承诺拒绝将终止   具有非零退出代码的Node.js进程。

1 个答案:

答案 0 :(得分:0)

显然,当您使用sql.conenct时,您是在全局范围内使用lib,请检查docuemntation我发现了ConnectionPool方法,请尝试:

const pool_db1 = await new sql.ConnectionPool(config).connect();
const pool_db2 = await new sql.ConnectionPool(config2).connect();