我正在设置一个Ubuntu实例,以成为一个远程NodeJS oracle客户端。
节点版本是4.4.7
我已经安装了
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm,
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm,
和oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm软件包
我已经安装了oracledb节点包:sudo npm install -g oracledb
我已经安装了libaio:sudo apt-get install libaio1 我已经按如下方式配置了我的dbconfig.js:
module.exports = {
user : process.env.NODE_ORACLEDB_USER || "myID",
password : process.env.NODE_ORACLEDB_PASSWORD || "myPASS",
connectString : process.env.NODE_ORACLEDB_CONNECTIONSTRING || "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=my_remote_host)(Port=1560))(CONNECT_DATA=(SID=srptprd)(SERVICE_NAME = my_service_name)))",
externalAuth : process.env.NODE_ORACLEDB_EXTERNALAUTH ? true : false
};
我已经按如下方式配置了我的connect.js:
var oracledb = require('oracledb');
var dbConfig = require('./dbconfig.js');
oracledb.getConnection(
{
user : dbConfig.user,
password : dbConfig.password,
connectString : dbConfig.connectString
},
function(err, connection)
{
if (err) {
console.error(err.message);
return;
}
console.log('Connection was successful!');
connection.release(
function(err)
{
if (err) {
console.error(err.message);
return;
}
});
});
当我运行“node connect.js”时,我收到此错误:
ORA-21561: OID generation failed
我该怎么做才能克服这个问题?
答案 0 :(得分:1)
要解决此问题,我所要做的就是将服务器的实际主机名添加到/ etc / hosts文件中:127.0.0.1 localhost my_host_name
答案 1 :(得分:0)
可以通过对主机文件的简单编辑来解决此问题。
通过在local-terminal
中运行hostname来查找本地计算机的名称 $hostname
编辑本地主机文件
$vi /etc/hosts
假设$ hostname将local_machine_name附加到localhost,
127.0.0.1 localhost local_machine_name
按esc键入wq!保存
干杯!