我試圖將listener.ora的內容寫入另一個文件,而不在目錄中進行硬編碼。listener.ora的PL/SQL Oracle_home目錄內容
當我指定的目錄中,本來它的工作:
'C:\app\OracleDB11g\product\11.2.0\dbhome_1\NETWORK\ADMIN'
但我不想硬編碼,因爲該腳本將被用於不同的機器/ DBS。
CREATE OR REPLACE DIRECTORY LISTENERDIR AS '%ORACLE_HOME%/NETWORK/ADMIN/';
declare
f utl_file.file_type;
fOUT utl_file.file_type;
s varchar2(200);
begin
f := utl_file.fopen('LISTENERDIR','listener.ora','R');
loop
utl_file.get_line(f,s);
fOUT := utl_file.fopen('OUTPUT','oraDBoutput.txt','A');
utl_file.put_line(fOUT,s);
utl_file.fclose(fOUT);
end loop;
exception
when NO_DATA_FOUND then
utl_file.fclose(f);
end;
/
drop directory LISTENERDIR;
我已經使用其他斜線,小瓶蓋,不同的變化,如\NETWORK\ADMIN
嘗試,甚至指定從dbms_system.get_env()
但沒有用的變量。
謝謝!有效。我所要添加的只是將內容緩存到文件:) – sanc 2011-06-07 03:42:45