在sql*plus下直接编译存储过程,不知道系统将存储过程存放到那个文件。我想使用WRAP对我的过程代码加密,但要有文件参数。请高手指教。
解决方案 »
- 为啥链接时,总是提示超时呢?
- 全表数据更新不影响访问的问题,求教。
- 【迫在眉睫】请教大家一个关于Oracle字符集的问题
- ora-02041: 客户端数据库未开始一个事务处理。
- oracle 10g OEM 打开后输入用户名密码提示错误但在sql/plus中可以使用 ?
- 基础问题 不好意思 小弟只有10分了
- 各位大侠,ORACLE配置问题请教
- 请问oracle中date类型应该如何插入数据?
- 警告: 创建的过程带有编译错误?在线等,谢谢!!!
- oracle8i客户端产生大量临时文件导致死机怎么办?
- request: set autotrace traceonly;response:Cannot SET AUTOTRACE ??? what is the matter?
- 根据时间段查寻出所有变更的表名
然后在 window2000 cmd 或win98 dos 下,
set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
然后
wrap iname=pro.sql oname=pro.plb然后回到 sql> 下sql>@d:\pro.plb 回车
这样就可以咯。
一、dos下
1、准备工作
C:>set NLS_LANG=us
在c:下创建wl.sql文件,内容如下:
create or replace procedure wl
(execlog VARCHAR2)
AS
v_sql VARCHAR2(2000);
v_cnt INTEGER;
BEGIN
v_sql:='SELECT count(1)
FROM USER_ALL_TABLES
WHERE table_name=''EXECLOG''';
EXECUTE IMMEDIATE v_sql INTO v_cnt;
IF v_cnt=0 THEN
v_sql:='CREATE TABLE execlog(execdate date,execlog varchar2(255))';
EXECUTE IMMEDIATE v_sql;
END IF;
v_sql:='INSERT INTO execlog values(Sysdate,'''||execlog||''')';
EXECUTE IMMEDIATE v_sql;
END;
2、加密
C:>wrap iname=wl.sql
3、恢复环境
C:>C:>set NLS_LANG=二、sql下看看效果
SQL> execute wl('1 live you ');