关于调用Oracle存储过程返回数据集的有关问题,请大家指教

关于调用Oracle存储过程返回数据集的问题,请大家指教
我在用dbExpress调用Oracle的存储过程返回数据集时遇到了奇怪的问题,请各位高手指教。
调试过程与现象如下:
1.建立包:
Create Or Replace Package ChargePKG 
  As
  Type ChargeCursor Is REF Cursor;
End ChargePKG;
2.当存储过程为
Create Or Replace Procedure GetCarSortChargeData(Dep VARCHAR2,
  ClassNO VARCHAR2,
  MorningShiftOnDuty VARCHAR2,
  MorningShiftOffDuty VARCHAR2,
  MiddleShiftOnDuty VARCHAR2,
  MiddleShiftOffDuty VARCHAR2,
  NightShiftOnDuty VARCHAR2,
  NightShiftOffduty VARCHAR2) 
Is
Begin
  Insert Into TempGratisCarTable(CarID,CarTpye,CriterionWeight,WholeWeight) Values(1,2,3,4);
End GetCarSortChargeData;
时,执行“SQLStoredProc1.ExecProc;”正常
3.当存储过程为
Create Or Replace Procedure GetCarSortChargeData(Dep Number,
  ClassNO Number,
  MorningShiftOnDuty VARCHAR2,
  MorningShiftOffDuty VARCHAR2,
  MiddleShiftOnDuty VARCHAR2,
  MiddleShiftOffDuty VARCHAR2,
  NightShiftOnDuty VARCHAR2,
  NightShiftOffduty VARCHAR2) 
Is
Begin
  Insert Into TempGratisCarTable(CarID,CarTpye,CriterionWeight,WholeWeight) Values(1,2,3,4);
End GetCarSortChargeData;
时(即包既具有数字型输入变量,又具有字符串型输入变量),执行“SQLStoredProc1.ExecProc;”时提示“BCD overflow”错误。
4.将存储过程改为
Create Or Replace Procedure GetCarSortChargeData(Dep VARCHAR2,
  ClassNO VARCHAR2,
  MorningShiftOnDuty VARCHAR2,
  MorningShiftOffDuty VARCHAR2,
  MiddleShiftOnDuty VARCHAR2,
  MiddleShiftOffDuty VARCHAR2,
  NightShiftOnDuty VARCHAR2,
  NightShiftOffduty VARCHAR2,
  CarSortChargeCursor Out ChargePKG.ChargeCursor) 
Is
Begin
  Insert Into TempGratisCarTable(CarID,CarTpye,CriterionWeight,WholeWeight) Values(1,2,3,4);
  Open CarSortChargeCursor For Select * From TempGratisCarTable;
End GetCarSortChargeData;
时(即在输入变量均为字符串型变量的基础上,增加了游标型输出变量),执行“SQLStoredProc1.Open;”时提示如下错误
ORA-06550:第1行,第1列;
PLS-00306:调用'GetCarSortChargeData'时参数个数或类型错误
ORA-06550:第1行,第1列;
PLS-00306:调用'GetCarSortChargeData'时参数个数或类型错误
ORA-06550:第1行,第1列;
PL/SQL:Statement ignored.
请大侠门指教是怎么回事?是dbexpress的bug吗?

------解决方案--------------------
据说如果是d7的话需要打一个sp1的补丁
------解决方案--------------------
d7的话需要打一个sp1的补丁
这是一定的
------解决方案--------------------
1,2不有测试
3正常
4异常:
引用ORA-06550:第1行,第7列:
PLS-00306:调用'GETCARSORTCHARGEDATA'时参数个数或类型错误
ORA-06550:第1行,第7列:
PL/SQL:Statement ignored

我的异常网推荐解决方案:oracle存储过程,http://www..net/oracle-develop/177537.html