在Prem Oracle 11g RAC上的AWS Node.js Lambda查询

时间:2019-01-14 20:33:23

标签: node.js oracle amazon-web-services oracle11g aws-lambda

我们具有从AWS Lambda Function-> Oracle 11g RAC(Prem)进行的独特集成。

我们选择了运行时节点为v8的AWS Lambda,因此默认情况下尝试使用node-oracledb作为驱动程序。当node-oracledb的分支-> oracledb-for-lambda能够使AWS内部的功能与AWS内部的简单oracle DB之间的连接工作时,建立连接存在许多挑战。

但是,在原始环境中尝试将代码连接到本地Oracle 11g RAC集群时,代码中断了以下错误。错误如下:

ORA-21561: OID generation failed

VPC [{AWS Node Lambda}]->直接连接->在Prem n / w上-> Oracle RAC集群

附加说明: 添加了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;
        }
    });

});

1 个答案:

答案 0 :(得分:-1)

确保您提供的连接字符串采用以下格式

  

// server-ip:port /数据库名称