У нас есть уникальная интеграция, которую мы разрабатываем из лямбда-функции AWS -> Oracle 11g RAC (On Prem).
Мы выбрали AWS Lambda со временем выполнения узла v8 и, следовательно, по умолчанию пытались использовать node-oracledb в качестве драйвера. Было много проблем с установлением соединений, когда форк node-oracledb -> oracledb-for-lambda смог выполнить эту работу между функцией в AWS и простой оракулом DB в AWS.
Однако код сломался со следующей ошибкой при попытке в исходной среде, где он подключается к локальному кластеру Oracle 11g RAC. Ниже приводится ошибка:
ORA-21561: OID generation failed
VPC [{AWS Node Lambda}] -> Прямое подключение -> В предварительном порядке н / ж -> Oracle RAC Cluster
Дополнительные примечания:
Добавлен файл HOSTALIASES для разрешения имен
var oracledb = require('oracledb-for-lambda');
var os = require('os');
var fs = require('fs');
'use strict';
str_host = os.hostname() + ' localhost\n';
fs.writeFileSync(process.env.HOSTALIASES,str_host , function(err){
if(err) throw err;
});
var connAttr = {
user: "user",
password: "pass",
connectString: "connection string"
};
oracledb.getConnection(connAttr, function (err, connection) {
if (err) {
log.error("Error Log>>>>>: " + err.message);
return;
}
log.info('Connection was successful!' + connection);
connection.close(
function (err) {
if (err) {
log.error('Error while closing connection'+err.message);
return;
}
});
});