关于对Oracle加密的问题

kerisyml 2010-02-24 09:34:37
1、存储过程不加密可以执行;
2、在AIX中加密执行,发生错误
加密存储过程(利用Netterm进行登录)
set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
WRAP INAME=proc_test ONAME=proc_test.plb
SQL> @proc_test.plb

执行出现错误:
SQL> show errors
Errors for PROCEDURE PROC_TEST:

LINE/COL ERROR
-------- -----------------------------------------------------------------
17/1 PLS-00103: Encountered the symbol "" when expecting one of the
following:
begin function package pragma procedure subtype type use
<an identifier> <a double-quoted delimited-identifier> form
current cursor
The symbol "" was ignored.


3、存储过程如下:
CREATE OR REPLACE PROCEDURE proc_test
(
p_sfktzs in varchar2, -- 罚款通知书
p_sdzry in varchar2, -- 对帐人员
nRc out number, -- 返回代码(0表示成功)
sMsg out varchar2 -- 错误信息描述,成功则无信息
)
is

--定义变量
dzjcid z_wzcf.sdzjc%type;

dz_fkje z_fkdz.nfkje%type;
dz_znj z_fkdz.nznj%type;
dz_jkrq z_fkdz.djkrq%type;
dz_yhdm z_fkdz.syhdm%type;

wzly z_wzsj.swzly%type;

uMsg varchar2(256);

BEGIN
begin
select nfkje,nznj,djkrq,syhdm into dz_fkje,dz_znj,dz_jkrq,dz_yhdm from z_fkdz where sfktzs=p_sfktzs;
exception
when others then
nRc:=100;
sMsg:='出错!'||sqlerrm;
rollback;
return;
end;


begin
update z_fkdz set sdzry=p_sdzry,dczrq=sysdate,sdbfs='2',sdzjg='0' where sfktzs=p_sfktzs;
exception
when others then
nRc:=101;
sMsg:='出错!'||sqlerrm;
rollback;
return;
end;

begin
update z_wzcf set sdzjg='3',szxzt='0',sjkbz='0',djkrq=dz_jkrq where sjdsbh=p_sfktzs and syxbz='0';
exception
when others then
nRc:=102;
sMsg:='出错!'||sqlerrm;
rollback;
return;
end;

begin
update z_wzsj set sjhbz='1' where nwzsj_sn in (select a.nwzsj_sn from z_wzsj a,z_wzcf b where a.nwzsj_sn=b.nwzcf_sn and a.sjhbz<>'5' and a.syxbz='0' and b.sjdsbh=p_sfktzs);
exception
when others then
nRc:=103;
sMsg:='出错!'||sqlerrm;
rollback;
return;
end;

begin
select a.swzly,b.sdzjc into wzly,dzjcid from z_wzsj a,z_wzcf b where a.nwzsj_sn=b.nwzcf_sn and b.sjdsbh=p_sfktzs and b.syxbz='0';
exception
when others then
nRc:=104;
sMsg:='出错!'||sqlerrm;
rollback;
return;
end;

if (wzly='2') and (dzjcid is not null) then
begin
syn_pro_gxzt(dzjcid,dz_fkje,dz_znj,dz_jkrq,dz_yhdm,uMsg);
if uMsg is not null then
nRc:=105;
sMsg:='出错-'||uMsg;
rollback;
return;
end if;
exception
when others then
nRc:=106;
sMsg:='出错!'||sqlerrm;
rollback;
return;
end;
end if;

nRc:=0;
sMsg:='成功!';
commit;

EXCEPTION
WHEN OTHERS THEN
nRc:=999;
sMsg:='数据库操作出错!'||sqlerrm;
rollback;
return;
END;



...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxdtgsh 2010-02-25
  • 打赏
  • 举报
回复
引用 2 楼 sxdtgsh 的回复:
没有遇到过,个人感觉与保重的中文字符有关,
把过程里面的中文去掉,在试试。

上面有几个字打错了,不是保重,是过程中。
sxdtgsh 2010-02-25
  • 打赏
  • 举报
回复
没有遇到过,个人感觉与保重的中文字符有关,
把过程里面的中文去掉,在试试。
kerisyml 2010-02-24
  • 打赏
  • 举报
回复
无人回答吗,主要是哪个错误,我无法知道在哪里?

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧