OracleのPro * C ORA-12547
-
13-09-2019 - |
質問
私は現在、私の会社では、誰もコンパイルされていないことをいくつかのPro * Cのコードを再コンパイルするに取り組んでいます。それはOKコンパイルですが、私は本番サーバーにコピーし、それを実行したときに、私はOracleエラーORA-12547取得しています(TNS:失われた連絡先)
を任意のアイデア?
解決
ああ、それを考え出しました。 : - )
Cの実行可能ファイルは、サーバー上で直接実行されますが、接続環境を設定するスクリプトによって起動されません。すなわち、このような何かます:
export SHLIB_PATH=/oracleDatabaseSidHere/oracle/10.2/lib:/usr/lib:/oracleDatabaseSidHere/oracle/10.2/odg/lib
export ORACLE_BASE=/oracleDatabaseSidHere/oracle
export ORACLE_SID=oracleDatabaseSidHere
export ORACLE_HOME=/oracleDatabaseSidHere/oracle/10.2
# Set up the path and executable to run
PATH=.\:$PATH:$ORACLE_HOME/bin:/usrlocal/bin
PATH=$PATH:/path_to_application_logs
cd /path_to_application
application
他のヒント
これに関連して、私はちょうど私がPL / SQLで、私はVPN接続を使用していると同時に、Oracleデータベースに接続しようとしたとき、私は同じエラーORA-12547 TNSは、私のWindowsマシン上の接触を迷うことが判明しますオープンます。
私は、Linux、Oracleの11gR2の上で同様の問題を抱えていました。オラクルの所有者は、SQL * Plusを実行し、TNSまたはローカル接続のいずれかを介してでは得ることができます。 Oracle以外のユーザーは、TNS経由ではなく、ローカル接続でログインすることができます。
答えはORACLE_HOMEのファイルシステムが「nosuidを」マウントされたことで判明します。マウントオプションは私の問題を解決することを削除します。
所属していません StackOverflow