PL/SQL中获取操作系统环境变量:
variable var1 varchar2(10);
exec dbms_system.get_env('OS_ENV',:var1);
PL/SQL procedure successfully completed
var1
---------
E:\BQ-JServer_7.1.3\j2sdk1.4.2
请教大家:
在我将系统的该环境变量值修改或者删除该环境变量。
dbms_system.get_env方法无法获得更新的环境变量值,依就打出上次的变量值。
有的时候重启数据库也不行。感觉需要重启WINDOW机器才能生效。
variable var1 varchar2(10);
exec dbms_system.get_env('OS_ENV',:var1);
PL/SQL procedure successfully completed
var1
---------
E:\BQ-JServer_7.1.3\j2sdk1.4.2
请教大家:
在我将系统的该环境变量值修改或者删除该环境变量。
dbms_system.get_env方法无法获得更新的环境变量值,依就打出上次的变量值。
有的时候重启数据库也不行。感觉需要重启WINDOW机器才能生效。
解决方案 »
- 谁有oracle 4516865 补丁
- PLSQL Developer同时连接本机和服务器
- 找工作散分了
- oracle存储过程中,未找到数据异常。。前辈们帮我看看吧。。。。
- 高手来看看can bind a LONG value only for insert into a LONG column
- 物化视图时什么?怎么用?求助..........
- 如何跟踪存储过程执行的sql语句呢? 不通过put_line来实现,请帮忙?
- 简单的pl/sql语句,请帮忙,谢谢
- 高手请来!!long型字段实现模糊搜索问题!
- 我的shared_pool_size 都已经设成90M了,怎么还出ORA-04031错误?
- oracle查询问题,望指教
- 排序选定SQL问题请教
而该变量VAR1希望能从外部文件获得的。
我也没想到其他好方法,就通过批处理将VAR1变量写到WINDOW系统环境变量中。
这样可以随时修改该VAR1的值,而PLSQL中通过dbms_system.get_env获得VAR1最新的值。wmic ENVIRONMENT create name="GPTDEX_ORA_SID",username="<system>",VariableValue="%GPTDEX_ORA_SID%"
但ufl_file读取文件的路径,需要动态的。
如果获得一个外部文件输入的路径?
1. 以管理员身份登录,设置可操作目录create or replace directory BLOBDIR as 'D:\MyFolder';
grant read,write on directory BLOBDIR to sharedb;
GRANT EXECUTE ON utl_file TO sharedb;
select * from ALL_DIRECTORIES;
2. 建立存储过程你的代码