ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle工具——WRAP

Oracle工具——WRAP

原创 Linux操作系统 作者:yangtingkun 时间:2009-05-12 21:49:49 0 删除 编辑

这个工具由来已久,以为比较简单,一直没有写过,不过前两天用的时候,发现忘了语法,而这个工具还没有提示功能,连续几次都没有试出来,看来好记性不如烂笔头,还是记录一下吧。

 

 

WRAP工具是Oracle用来加密PROCEDUREFUNCTIONPACKAGETYPE的工具,使用WRAP加密后,PL/SQL代码变得无法阅读,但是Oracle可以执行加密后的PL/SQL代码。需要注意WRAP加密后,没有办法还原,因此如果在数据库中创建的过程或函数是加密的,那么如果以后需要修改代码,必须找到未加密的版本进行修改,然后再次加密。Oracle绝大部分的内部包都是经过加密的。

WRAP工具的使用很简单,指定一个输入参数,一个输出参数就可以了:

E:\>wrap iname=e:\f_link.sql name=e:\f_link.out

PL/SQL Wrapper: Release 10.2.0.1.0- Production on Mon May 11 20:55:39 2009

Copyright (c) 1993, 2004, Oracle.  All rights reserved.

Processing e:\f_link.sql to e:\f_link.out

不过由于WRAP工具没有任何的提示,还是很容易犯错误的,当时就是将inameoname参数错记为ifileofile,导致的错误:

E:\>wrap ifile=e:\f_link.sql file=e:\f_link.out
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.

E:\>wrap

E:\>wrap help
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.

E:\>help wrap
帮助实用程序不支持这个命令。请键入 "x /?"

E:\>wrap /?
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.

E:\>wrap ifile="e:\f_link.sql" file="e:\f_link.out"
PSU(32,1,0,0):Invalid command line arguments
PL/SQL Wrapper error: Couldn't process command line arguments.

另外还需要注意一点,各个版本的WRAP的结果相差很大,OracleWRAP生成的结果也是向下兼容的,10g的数据库可以使用9i生成的WRAP文件,而在9i中无法使用10gwrap的生成结果。

E:\>wrap iname=e:\f_link.sql

PL/SQL Wrapper: Release 9.2.0.4.0- Production on 星期二 5  12 17:17:40 2009

Copyright (c) Oracle Corporation 1993, 2001.  All Rights Reserved.

Processing e:\f_link.sql to f_link.plb

10g中加载f_link.plb文件:

SQL> SELECT * FROM V$VERSION;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

SQL> @E:\F_LINK.PLB

程序包已创建。


类型已创建。


类型主体已创建。


函数已创建。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-594905/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10469953