我的存储过程参数顺序颠倒了!!!!!! ( 积分: 300 )

  • 主题发起人 主题发起人 BmwHans1
  • 开始时间 开始时间
B

BmwHans1

Unregistered / Unconfirmed
GUEST, unregistred user!
最近发现一个可怕的问题,我编译到Oracle8.0.6数据库中的存储过程在调用时,参数顺序是颠倒了!比如有一个过程的传入传出参数顺序是<br>pi_iInput1&nbsp;in&nbsp;number,<br>pi_iInput2&nbsp;in&nbsp;varchar2,<br>po_oResult&nbsp;out&nbsp;number,<br>po_oErrMsg&nbsp;out&nbsp;varchar2<br><br>而用PL/SQL&nbsp;Developer&nbsp;工具进行测试(TEST)时,显示的参数顺序却是反过来的,因此在程序调用时就报错。我是无意中发现这个情况的。<br><br>我们的系统是三层结构,中间层是COM+组件服务,组件中调用存储过程的方法是个通用方法,客户端传给该方法的参数包括要调用的存储过程名称、传入参数(用OleVariant数组)和返回值变量。中间层调用存储过程时的传参就是按Params的顺序依次从传入参数中取出后赋值的,以前一直用的好好的,这两天经常会报错,经软件调试发现上述问题。<br><br>但如果我把出现问题的过程增加一个参数重新编译一下,再删掉增加的参数后再编译一下,问题就可以暂时解决,但不定期的又会出现这种情况!<br><br>真是不明白是什么原因,烦死我了,请高人解答!
 
后退
顶部