在PL/SQL中获取操作系统环境变量
Oracle 10g引入了 DBMS_SYSTEM包中的一个过程GET_ENV。这个过程获得一个环境变量名称并返回环境变量的值。但是它不会返回环境变量PATH的值:
set serveroutput on;
create or replace PROCEDURE dump_osenvs as
buffer varchar2(300);
begin
sys.dbms_system.get_env('ORACLE_HOME', buffer);
dbms_output.put_line('ORACLE_HOME: '|| buffer);
sys.dbms_system.get_env('ORACLE_SID',buffer);
dbms_output.put_line('ORACLE_SID: '|| buffer);
sys.dbms_system.get_env('COMPUTERNAME',buffer);
dbms_output.put_line('COMPUTERNAME: '|| buffer);
sys.dbms_system.get_env('OS',buffer);
dbms_output.put_line('OS: '|| buffer);
sys.dbms_system.get_env('TEMP',buffer);
dbms_output.put_line('TEMP: '|| buffer);
sys.dbms_system.get_env('WINDIR',buffer);
dbms_output.put_line('WINDIR: '|| buffer);
sys.dbms_system.get_env('SYSTEMROOT',buffer);
dbms_output.put_line('SYSTEMROOT: '|| buffer);
sys.dbms_system.get_env('PROGRAMFILES',buffer);
dbms_output.put_line('PROGRAMFILES: '|| buffer);
sys.dbms_system.get_env('COMSPEC',buffer);
dbms_output.put_line('COMSPEC: '|| buffer);
sys.dbms_system.get_env('PROCESSOR_ARCHITECTURE',buffer);
dbms_output.put_line('PROCESSOR_ARCHITECTURE: '|| buffer);
sys.dbms_system.get_env('PROCESSOR_IDENTIFIER',buffer);
dbms_output.put_line('PROCESSOR_IDENTIFIER: '|| buffer);
end ;
/
过程已创建。
下面给出这个过程的输出结果:
SQL> exec dump_osenvs;
ORACLE_HOME: E:\oracle\product\10.2.0\db_1
ORACLE_SID: orclv
COMPUTERNAME: WIN_DESK1
OS: Windows_NT
TEMP: C:\WINDOWS\TEMP
WINDIR: C:\WINDOWS
SYSTEMROOT: C:\WINDOWS
PROGRAMFILES: C:\Program Files
COMSPEC: C:\WINDOWS\system32\cmd.exe
PROCESSOR_ARCHITECTURE: x86
PROCESSOR_IDENTIFIER: x86 Family 6 Model 15 Stepping 13, GenuineIntel
PL/SQL 过程已成功完成。
转载请注明源地址: www.youyus.com
posted on 2009-09-02 15:57 Oracle和MySQL 阅读(541) 评论(0) 编辑 收藏 举报