用wrap加密package异常的解决方法是什么
这期内容当中小编将会给大家带来有关用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异常的解决方法是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。