【发布时间】:2015-01-25 20:56:17
【问题描述】:
我在 node.js 中为我的应用程序引用 node-mssql 库,使用 mssql 进行数据库连接。 mssql-ref。 我已经检查了连接的创建池,但我发现 mysql 而不是 mssql。请提供任何参考,我可以在哪里找到带有 node.js 的 mssql 连接池的示例代码 sn-p。 谢谢。
【问题讨论】:
标签: sql-server node.js connection-pooling
我在 node.js 中为我的应用程序引用 node-mssql 库,使用 mssql 进行数据库连接。 mssql-ref。 我已经检查了连接的创建池,但我发现 mysql 而不是 mssql。请提供任何参考,我可以在哪里找到带有 node.js 的 mssql 连接池的示例代码 sn-p。 谢谢。
【问题讨论】:
标签: sql-server node.js connection-pooling
您可以在您所指的页面中找到该信息。但值得注意的是,文档并未明确说明如何创建连接池。
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);
});
});
或者通过省略回调参数来使用承诺
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 网络应用程序的问题,请参阅此question and answers。
【讨论】:
var connection = new sql.Connection(config); 应为 var connection = new sql.ConnectionPool(config);。否则你会得到一个错误。