【问题标题】:Open more then 1 connection at the same time MSSQL-NODE同时打开超过 1 个连接 MSSQL-NODE
【发布时间】:2018-10-10 21:33:42
【问题描述】:

我正在使用带有 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() 到另一个, 但我想要另一个解决方案,因为这个对表的插入对于更多的表(在同一个连接中)发生了异步, 所以我需要打开这两个连接,但它似乎打开了 2 个连接。 以下错误:

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

【问题讨论】:

    标签: node.js sql-server


    【解决方案1】:

    显然,当您使用sql.conenct 时,您正在以全局范围的方式使用lib,检查docuemntation 我找到了ConnectionPool 方法,请尝试:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      相关资源
      最近更新 更多