用wrap加密package异常的解决方法是什么

发布时间:2021-11-08 16:45:38 作者:柒染
来源:亿速云 阅读:176

这期内容当中小编将会给大家带来有关用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:

<an identifier> <a double-quoted delimited-identifier>
The symbol "<an identifier> 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:

<an identifier> <a double-quoted delimited-identifier>
The symbol "<an identifier> 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:

<an identifier> <a double-quoted delimited-identifier>
The symbol "<an identifier> 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:>

上述就是小编为大家分享的用wrap加密package异常的解决方法是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. jQuery中wrap()方法是什么
  2. java package是什么?怎么用?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

package wrap

上一篇:如何进行oradebug诊断系统问题的分析

下一篇:PostgreSQL的OID类型是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》