PL/SQL打包工具wrap:
dbms_ddl包中有一个打包函数wrap和打包过程create_wrapped,把源代码转换成十六进制进行隐藏。
wrap:打包函数,输入源码后,返回打包好的PL/SQL源代码;
create_wrapped:打包过程,对输入的源码进行打包;
要查看打包后的源代码,可通过视图 user_source进行查看
desc user_source;
Column Datatype NULL Description
OWNER VARCHAR2(30) NOT NULL Owner of the object
NAME VARCHAR2(30) NOT NULL Name of the object
TYPE VARCHAR2(12) Type of object: FUNCTION, JAVA SOURCE, PACKAGE, PACKAGE BODY, PROCEDURE, TRIGGER, TYPE, TYPE BODY
LINE NUMBER NOT NULL Line number of this line of source
TEXT VARCHAR2(4000) Text source of the stored object
示例:
declare
v_procedure varchar2(32767);
begin
v_procedure := 'create or replace procedure wrap_test is '
||' rec airport_list%rowtype; '
||' cursor airport_cur is select * from airport_list; '
||' begin '
||' for rec in cursor loop '
||' dbms_output.put_line(rec.airport_code); '
||' end loop; '
||' end; ';
sys.dbms_ddl.create_wrapped(v_procedure);
execute immediate dbms_ddl.wrap(v_procedure);
end;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25791987/viewspace-718136/
,如需转载,请注明出处,否则将追究法律责任。