我的服务器有 3 个具有相同表的数据库。
DB1、DB2 和 DB3。
当我使用数据库时,我使用:
app.js
var cnxDB= require('./routes/cnxDB');
app.post('/userSave', cnxDB.userSave);
cnxDB.js:
var sql = require('mssql');
var qs = require('querystring');
var colors = require('colors');
var config = {user: 'user',password: 'pass',server: '127.0.0.1',database: nameDB',
options: {
encrypt: false
}
};
sql.connect(config, function(err) {
//Connection
});
exports.userSave = function(req, res) {
//response
};
初始化应用程序时立即建立与数据库的连接。
我需要知道你如何选择数据库。
app.post('/selectBD', function(req, res){
var body = req.body; // accede a la información enviada por el socket
console.log(body);
if(body.cnx == 1)
{
var cnx = require('./routes/bdUno');
app.get('/yuri', cnx.findall);
}
if(body.cnx == 2)
{
var cnx = require('./routes/bdDos');
app.get('/yuri', cnx.findall);
}
if(body.cnx == 3)
{
var cnx = require('./routes/bdTres');
app.get('/yuri', cnx.findall);
}
res.status(200).json("Ok");
});
谢谢。
最佳答案
在cnxDB.js
中设置3个连接:
var connections = {
<dbname>: null,
<dbname>: null,
<dbname>: null
}
转到mssql并查看“快速示例”。它创建一个连接并将其保存在变量中。您需要为每个数据库执行 3 次,并将它们保存在相应数据库名称下的 connections
中。
然后,您从 cnxDB.js 导出的函数应该有办法知道您希望它们使用哪个数据库。从外观上看,您希望了解该请求正文中需要使用哪些数据库。您可以使用它来选择数据库。
关于javascript - 如何使用 ExpressJS 访问多个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33418854/