Новые
Я предлагаю вам использовать sequelize для подключения нескольких баз данных. Только нужно настроить базу в config. js. Не так, как вы использовали 7003 и 7004 для определения нескольких баз данных.
Мой пример кода демонстрирует соединение двух баз данных в mysql и sqlsever. На следующем рисунке показан результат операции. Это просто демонстрационный код, если вы хотите использовать его в своем проекте, вам нужно его изучить.
The structure of my demo directory is as follows.
введите описание изображения здесь
конфиг. js
const fs = require('fs');
const path = require('path');
module.exports = {
/**Declaration of databases for my development environment**/
"development": {
"databases": {
"dbinmysql": {
"database": "mysql", //you should always save these values in environment variables
"username": "***@p***mysql", //only for testing purposes you can also define the values here
"password": "Ja***",
"host": "*****mysql.mysql.database.azure.com",
"port": 3306,
"ssl":true,
"dialect": "mysql", //here you need to define the dialect of your databse, in my case it is Postgres
"dialectOptions": {
ssl: {
ca: fs.readFileSync(path.resolve(__dirname, 'BaltimoreCyberTrustRoot.crt.pem'))
}
},
},
"dbinsqlserver": {
"database": "pa*****db",
"username": "pa***i",
"password": "J*****0",
"host": "***sqlserver.database.windows.net",
"port": 1433,
"dialect": "mssql", //second database can have a different dialect
"dialectOptions": {
options: {
encrypt: true,
}
}
},
},
}
}
тест. js
const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const { QueryTypes } = require('sequelize');
//Load the configuration from the config.js
const config = require(`./config.js`)[env];
//Create an empty object which can store our databases
const db = {};
//Extract the database information into an array
const databases = Object.keys(config.databases);
//Loop over the array and create a new Sequelize instance for every database from config.js
for(let i = 0; i < databases.length; ++i) {
let database = databases[i];
let dbPath = config.databases[database];
console.log("try to connecting "+database);
//Store the database connection in our db object
db[database] = new Sequelize( dbPath.database, dbPath.username, dbPath.password, dbPath );
if (database == 'dbinmysql') {
const results = db[database].query("SELECT *FROM USER", { type: QueryTypes.SELECT })
} else if (database == 'dbinsqlserver') {
const results = db[database].query("SELECT *FROM TEST", { type: QueryTypes.SELECT })
}
}
PRIVIOUS
Я думаю, что причина root в том, что когда вы публикуете sh свое веб-приложение на azure, есть только один порт, который table_routes_1and2.js
наконец слушает, http_80 и https_443 , должен быть только один db, который, наконец, вступит в силу, это должна быть причина root.