1、解密是不可能的,既然是你自己写的,就应该有源代码2、加密采用oracle 提供的 PL/SQL Wrapper
解决方案 »
- 问个sql面试题
- oracle存储过程 输出参数超过32767个字节的处理方式
- dbms_output.put_line(time_after - time_before)结果怎么是0?
- oracle imp
- sql*load 编写control文件
- Linux系统下Java调用Oracle EXP命令用户权限问题,求高手帮忙!
- 我用的是oracle10g_10.2.0版本,我现在学习的视频教程是oracle9i_9.2.0.1.0版本,能给我点经验和学习的建议吗?
- 数据导入(imp)时个别字出现乱码?
- 如何解决?
- 请教一个网段内的客户端如何连接到另一个网段内的Oracle数据库?
- SQLServer数据导入的Null问题
- 我该怎样设置后才能连接上oracle Management sever啊?
D:\>set NLS_LANG=AMERICAN_AMERICA.USACII7
或 D:\>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
2、创建sql文件,将你写的存储过程写入文件中,命名xxxx.sql
3、利用oracle的Wrapper将.sql文件加密
wrap iname=xxxx.sql
你可以发现,在文件的同目录下会生成一个同名但后缀名为.plbr的文件;
4、在SQL/PLUS中运行此文件
如:SQL>@d:\xxxx.plb
5、大功告成。
一、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 ');