sql-server - 在node.js应用程序中创建mssql连接池

标签 sql-server node.js connection-pooling

我在node.js 中使用mssql 进行数据库连接,为我的应用程序引用了node-mssql 库。 mssql-ref 。 我已经检查了连接的创建池,但我发现 mysql 的创建池相同,而 mssql 的创建池则不然。请提供任何引用,我可以在其中找到带有 Node.js 的 mssql 连接池的示例代码片段。 谢谢。

最佳答案

您会在您自己引用的页面中找到该信息。但值得注意的是,文档并没有明确说明如何创建连接池。

var connection = new sql.Connection(config);

这里的变量连接实际上是一个仍然需要连接的连接池...

var connection = new sql.Connection(config, function(err) {
  // ... error checks

  // Query
  var request = new sql.Request(connection);
   // or: var request = connection.request();
  request.query('select 1 as number', function(err, recordset) {
    // ... error checks
    console.dir(recordset);
  });
});

或者通过省略回调参数来使用 Promise

var connection = new sql.Connection(config);
//connection is actually a connection pool
connection.connect().then(function() {

    var request = new sql.Request(connection);
    request.query('select * from mytable').then(function(recordset) {
        // ...
    }).catch(function(err) {
        // ...
    });
}).catch(function(err) {
    // ...
});

创建 Connection 的单个实例后,让所有请求都像上面的示例一样使用它,而不是为每个请求实例化一个新的 Connection 对象。

如果您询问与 Express 4 Web 应用程序相关的问题,请参阅此 question and answers .

关于sql-server - 在node.js应用程序中创建mssql连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27167641/

相关文章:

sql-server - Query中使用可变表名

node.js - NodeJS - 如何异步读取多个文件并将读取的内容写入一个文件

javascript - 将范围绑定(bind)到 forEach 循环中的项目

javascript - 如何在 node.js 中设置 mysql 连接以在使用无符号整数进行算术运算时抛出超出范围错误?

java - 重新发明轮子 : connection pool

java - 如何处理连接池和DAO?

sql-server - 在 SQL Server 上的事务内部删除和创建表,对其他进程的影响

sql-server - 在 EF6 中执行复杂的原始 SQL 查询

c# - SQL从nVarchar到int的转换报错

java - Tomcat连接池&空闲连接