[求助]pb6.5下执行oracle9i的存储过程出错:参数个数或类型错误
存储过程代码(数据是oracle9i,存储过程先编译好):
CREATE OR REPLACE PROCEDURE testone (
dko out varchar2,
dki in varchar2
) as
begin
select id into dko
from test where id = dki;
end;
/
pb6.5中的代码:
SQLCA.DBMS = 'O73 ORACLE 7.3';
SQLCA.ServerName = '@tns:sa';
SQLCA.LogId = 'sa';
SQLCA.LogPass = 'sa';
SQLCA.AutoCommit = False;
SQLCA.DBParm = 'ThreadSafe="Yes"';
DECLARE L_Getone PROCEDURE FOR testone
@dko output,
@dki = :id
USING sqlca;
EXECUTE l_Getone;
提示错误:
ORA-06550: 第 1 行, 第 15 列: PLS-00306: 调用 'testone'时参数个数或类型错误 ORA-06550: 第 1 行, 第 15 列: PL/SQL: Statement ignored
另:如果不需要输入参数dki时,存储过程都能在pb中正确执行,只要加入输入参数,存储过程执行时就报告上面的错误.
已经被这个问题折磨了几天了,大伙帮我看看啊
问题点数:30、回复次数:7Top
1 楼changyanxiao(踏雪无情)回复于 2006-07-02 15:39:13 得分 0
不需要输入参数的存储过程例如:
CREATE OR REPLACE PROCEDURE testone (
dko out varchar2
) as
begin
select id into dko
from test where id = '111';
end;
/
在pb中如下调用时:
SQLCA.DBMS = 'O73 ORACLE 7.3';
SQLCA.ServerName = '@tns:sa';
SQLCA.LogId = 'sa';
SQLCA.LogPass = 'sa';
SQLCA.AutoCommit = False;
SQLCA.DBParm = 'ThreadSafe="Yes"';
DECLARE L_Getone PROCEDURE FOR testone
@dko output
USING sqlca;
EXECUTE l_Getone;
没有任何问题,值能构成功取出Top
2 楼zcm790619(魔鬼代言人)回复于 2006-07-02 15:41:07 得分 15
是不是存储过程有问题啊
没有用过oracle,MSSQL的存储过程不是这种语法的!
select id into dko
from test where id = dki;
Top
3 楼changyanxiao(踏雪无情)回复于 2006-07-02 16:01:05 得分 0
存储过程应该没有问题,我查了oracle的资料,应该是这样写的Top
4 楼changyanxiao(踏雪无情)回复于 2006-07-02 17:02:49 得分 0
自己再顶顶Top
5 楼zcm790619(魔鬼代言人)回复于 2006-07-02 17:12:19 得分 15
还有一种可以就是PB的原因
把PB的补丁打上试试Top
6 楼changyanxiao(踏雪无情)回复于 2006-07-02 17:27:07 得分 0
pb补丁,你有不?传给我试试啊,谢谢了
testuser2005@tom.comTop
7 楼changyanxiao(踏雪无情)回复于 2006-07-03 16:37:23 得分 0
我顶顶,大伙帮帮忙啊,时间很急Top




