2009-06-19 5 views
1

純粋なPL/SQLを使用してOracleがインストールされている場所を特定できますか?PL/SQLからORACLE_HOMEを判別する方法は?

使用例: 外部Cライブラリを呼び出すには、正確なパス(create library呼び出しの場合)を知る必要があります。私のDLLは、Oracleのbinディレクトリに存在しますが、私はハードコード私のスクリプトでDBのインストールのパスをすることはできません...

答えて

1

はこのページの最後の転記を確認してください:この作品を10gのWindows上で

SELECT 
substr(file_spec,1,instr(file_spec,'\',1,3)) 
FROM dba_libraries 
WHERE library_name='DBMS_SUMADV_LIB' 

http://www.mydatabasesupport.com/forums/database-discussions/34933-query-oracle_home-3.html

+1

ありがとう、私は10gでうまく動作する 'DBMS_SUMADV_LIB'ライブラリのパスをフェッチするために提案されたアプローチを使用しました。 //あなたの答えを編集して、実際にこの質問を見つけた他の人々を助ける方法を挙げることができますか? –

+1

リンクが壊れています:( –

3
DECLARE 
RetVal VARCHAR2(100); 
BEGIN 
    dbms_system.get_env('ORACLE_HOME', RetVal); 
    dbms_output.put_line(RetVal); 
END; 

注:あなたが、デフォルトでは、このパッケージへのアクセス権を持っていないことを、あなた可能性があります。

+0

残念ながら、私のデータベースでは、DBMS_SYSTEMはインストールされていません。 –

+0

ディレクトリを使用することを検討しましたか? ディレクトリAPP_ORACLE_HOMEを '/u01/oracle/10.1.2'として作成または置き換えます。 –

関連する問題