通用mssql连接

时间:2017-08-23 14:38:34

标签: sql-server node.js azure express

我在node.js上使用mssql。

我想要通用mssql连接。

我想将每次使用多个模块生成的连接汇总到一个文件中

你能告诉我一个好方法吗?

实施例

[table1.js]

var mssql = require('mssql');
var config = {
  user: 'user',
  password: 'pass',
  server: 'server', 
  database: 'db',
  stream: true, 
  options: {
    encrypt: true 
  }
}

mssql.connect(config, function(err) {
    var request = new mssql.Request(); 
    request.query('select * from Table1',function(err,data) {

        callback(data);
        mssql.close();

    });
});

[table2.js]

var mssql = require('mssql');
var config = {
  user: 'user',
  password: 'pass',
  server: 'server', 
  database: 'db',
  stream: true, 
  options: {
    encrypt: true 
  }
}

mssql.connect(config, function(err) {
    var request = new mssql.Request(); 
    request.query('select * from Table2',function(err,data) {

        callback(data);
        mssql.close();

    });
});

1 个答案:

答案 0 :(得分:1)

无论何时您需要配置/数据库连接等内容,请将模块包装在

module.exports = function (db) {
// code for table1 or table 2
}

现在您只需要一个中心位置,可以是app.js / server.js,您可以从配置文件中获取连接参数require('./path/to/table')(db)

app.js

const db = {
'mssql': {
  user: 'user',
  password: 'pass',
  server: 'server', 
  database: 'db',
  stream: true, 
  options: {
    encrypt: true 
  }
}

table1.js

module.exports = function(db) {
  const mssql = require('mssql');

  mssql.connect(db.mssql, function (err) {
    // do what ever
});
}