2016-07-13 110 views
0

我正在設置一個Ubuntu實例,成爲一個遠程NodeJS oracle客戶端。如何避免'ORA-21561:OID生成失敗',而在Ubuntu上使用NodeJS oracledb 14

節點版本是4.4.7

我已經安裝了

甲骨文instantclient12.1-基本-12.1.0.2.0-1.x86_64.rpm,

甲骨文instantclient12 .1 devel的-12.1.0.2.0-1.x86_64.rpm,

和甲骨文instantclient12.1-sqlplus的-12.1.0.2.0-1.x86_64.rpm包

我已經安裝oracledb節點包:sudo np米安裝-g OracleDB的

我已經安裝了libaio的:命令和apt-get安裝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; 
     } 
     }); 
    }); 

當我運行 「節點connect.js」 我得到這個錯誤:

ORA-21561: OID generation failed 

我能做些什麼來克服這個問題?

回答

1

要解決這個問題,所有我需要做的就是增加我的服務器到/ etc的實際主機名/ hosts文件:127.0.0.1本地主機my_host_name

-1

這個問題可以用一個簡單的編輯到你的主機文件。

  • 找到你的本地計算機的名稱在本地端

    $hostname

  • 編輯運行的主機名本地hosts文件

    $vi /etc/hosts

    假設$主機名給local_machine_name附加到您的本地主機,

    127.0.0.1 localhost local_machine_name

按ESC和類型WQ!以節省

乾杯!

相關問題