我需要使用云钱包将我的Node.js + Sequelize应用程序连接到安全的数据库目前我有一个.zip文件,其中包含:
- cwallet.sso
- cwallet.sso.lck
- ewallet.p12
- ewallet.p12.lck
- sqlnet.ora
- tnsnames.ora
- company-certificate.crt
我尝试从SQLDeveloper客户端使用zip文件进行连接,它可以工作,但现在我需要从NodeJS + Sequelize进行连接
这就是我努力做的
const fs = require('fs');
const Sequelize = require('sequelize');
const _sequelize = new Sequelize(config.database.servicename, config.database.username, config.database.password, {
host: config.database.address,
port: config.database.port,
dialect: config.database.dialect,
logging: false,
dialectOptions: {
ssl: {
ca: fs.readFileSync(__dirname + '/../../company-certificate.crt')
}
}
});
_sequelize.authenticate().then(() => {
console.log('Connection to DB : [OK]');
}).catch((error) => {
console.error('Connection to DB : [KO]');
});
module.exports = _sequelize;
这是连接器返回的错误:“original:错误:NJS-500:与Oracle数据库的连接已断开”
1条答案
按热度按时间neekobn81#
sequelize的oracle方言不支持
ssl
作为dialectOptions
。您可以在dialectOptions
中使用connectString
选项。将
$TNS_ADMIN
环境变量设置为您的钱包位置。检查tnsnames.ora安全部分来配置你的别名根据你的需要。