oracle packages加密,用wrap加密一个package异常的解决过程

在windows下wrap 一个package的时候,不能成功,是怎么回事?

D:>dir *.sql

驱动器 D 中的卷是 应用盘

卷的序列号是 C4CF-9B46

D: 的目录

2006-05-27 09:57 145,910 toms_dbms.sql

1 个文件 145,910 字节

0 个目录 2,174,296,064 可用字节

D:>wrap iname=toms.dbms.sql

kgepop: no error frame to pop to for error 1801

D:>

同样的package在aix 5.2下加密的时候也报错,但可以安装,内容如下

/oracle> wrap iname=1.sql

PL/SQL Wrapper: Release 9.2.0.6.0- 64bit Production on Sat May 27 10:19:41 2006

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

Processing 1.sql to 1.plb

PSU(103,1,269,46):Encountered the symbol "SQL" when expecting one of the following:

The symbol " was inserted before "SQL" to continue.

PL/SQL Wrapper error: Compilation error(s) for:

create or replace package body toms_dbms

Outputting source and continuing.

/oracle> sqlplus /nolog

SQL*Plus: Release 9.2.0.6.0 - Production on Sat May 27 10:19:48 2006

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn user/pwd

Connected.

SQL> start 1.plb

Package created.

Package body created.

SQL> exit

Disconnected from Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production

With the Partitioning and Real Application Clusters options

JServer Release 9.2.0.6.0 - Production

/oracle>

有谁知道是怎么回事?难道是包体太长了? 以前包体在2000多行的时候没事,现在增加到3000多行了

就不行了。^|^

经过查找资料发现,原来在windows下,是因为客户端字符集的问题,在CMD下执行

set nls_lang=american_america.usascii7

然后,再运行OK了.

而如下的错误信息,是因为部分SQL语法不支持导致的。加上edebug=wrap_new_sql[强制支持所有语法]就OK了。

PSU(103,1,269,46):Encountered the symbol "SQL" when expecting one of the followi

ng:

The symbol " was inserted before "SQL" to continue.

PL/SQL Wrapper error: Compilation error(s) for:

create or replace package body toms_dbms

Outputting source and continuing.

附:成功WRAP的过程

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

D:>set nls_lang=american_america.usascii7

D:>wrap iname=toms_dbms.sql;

PL/SQL Wrapper: Release 9.2.0.1.0- Production on Sat May 27 12:24:00 2006

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

PL/SQL Wrapper error: Couldn't open input file toms_dbms.sql;

D:>wrap iname=toms_dbms.sql

PL/SQL Wrapper: Release 9.2.0.1.0- Production on Sat May 27 12:24:14 2006

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

Processing toms_dbms.sql to toms_dbms.plb

PSU(103,1,269,46):Encountered the symbol "SQL" when expecting one of the followi

ng:

The symbol " was inserted before "SQL" to continue.

PL/SQL Wrapper error: Compilation error(s) for:

create or replace package body toms_dbms

Outputting source and continuing.

D:>wrap iname=toms_dbms.sql edebug=wrap_new_sql

PL/SQL Wrapper: Release 9.2.0.1.0- Production on Sat May 27 12:25:03 2006

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

Processing toms_dbms.sql to toms_dbms.plb

D:>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值