起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 158|回复: 3

【结贴】存储过程调用出错

[复制链接]
发表于 2009-10-22 17:23:04 | 显示全部楼层 |阅读模式
程序以前运行很正常,今天改动了一点代码,把存贮过程名,改成小写的了,存贮过程调用就出现问题了。
存贮过程代码:
CREATE OR REPLACE PROCEDURE PROC_OA_GET_BH ( v_bh out char ) IS
s_bh    varchar2(20);
v_num number;
BEGIN
    v_num:=1;
    while v_num>0 loop
    select  to_char(OABH.nextval)  into s_bh from dual;   
    v_bh := s_bh;
    select count(bh) into v_num from bt_oa_send where bh=s_bh;   
    end loop;   
END;

调用存贮过程:
    storedproc:=TStoredProc.Create(self);
    try
      storedproc.ConnectionString:='DATABASEURL=Biz:\SYSTEM\SYSTEM.DATABASE';
      storedproc.StoredProcName:='PROC_OA_GET_BH';
      storedproc.Execute;
      DataSetBroker1.DataSet.FieldByName('bh').AsString:=storedproc.params[0].AsString.Trim;
    finally
      storedproc.Free;
    end;

调用时出现错误,PL/SQL中可以正常调用此存贮过程。

调用时的错误信息为:

ExecuteSQL error: ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'PROC_OA_GET_BH' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
回复

使用道具 举报

发表于 2009-10-22 17:27:40 | 显示全部楼层
那就再改回大写啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-22 17:32:38 | 显示全部楼层
换成大写的就好了!!
不知道是怎么回事,调用存贮过程居然和大小写有关系,真是神奇!!
回复 支持 反对

使用道具 举报

发表于 2009-10-23 08:37:49 | 显示全部楼层
x3后台有java的东西,java是大小写敏感的东西。有可能跟他有关系。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-15 06:30 , Processed in 0.041561 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表