ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle开发 » 关于用delphi storedproc组件访问oracle package中函数的问题

标题: 关于用delphi storedproc组件访问oracle package中函数的问题
离线 shibin78
初级会员



精华贴数 0
个人空间 0
技术积分 8 (97391)
社区积分 0 (54740)
注册日期 2002-4-4
论坛徽章:0
      
      

发表于 2002-4-4 21:06 
关于用delphi storedproc组件访问oracle package中函数的问题

我的package是这样的:

CREATE OR REPLACE  PACKAGE "NPW"."TEST4"   AS
procedure TEST2;
END;

CREATE OR REPLACE  PACKAGE BODY "NPW"."TEST4"   AS
procedure TEST2 is
begin
insert into mdb_errormast values('1','2','3','4');
end;
END;

我用Delphi这样访问:
with StoredProc1 do
begin
StoredProcName := 'NPW.TEST4.TEST2';
PrePare;
ExecProc;
end;

我用自己创建的一个用户访问数据库,在执行时会出错,当用sys或者system帐号时就可以执行。

所以,我想问的第一个问题就是,要执行storedproc需要什么样的权限?
我看了一些资料上说,需要单独将执行权限付给用户才能执行,但是当我在付权限的时候,总是说我没有整个权限去付权限。所以我第二个问题是怎么给这个权限。

然后,我尝试加入参数:
CREATE OR REPLACE  PACKAGE "NPW"."TEST4"   AS
procedure TEST2(A VARCHAR2);
END;

CREATE OR REPLACE  PACKAGE BODY "NPW"."TEST4"   AS
procedure TEST2(A VARCHAR2) is
begin
insert into mdb_errormast values('1','2','3','4');
end;
END;

然后我修改我的delphi代码:
with StoredProc1 do
begin
StoredProcName := 'NPW.TEST4.TEST2';
PrePare;
ParamByName('A').AsString := 'a';
ExecProc;
end;
但是不管我怎么试,总是在设置参数那一步会出错,请问是何故?


多谢。




只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问