一个存储过程,调试时没问题,可是在C#里调用就报错:
ora-01036: 非法的变量名/编号
百度了一番,据说由于非常多个错误都会报这个错,没发现合适我的(參数顺序匹配,大小匹配等),仅仅好自己再试试:
我调用的方法:
OracleParameter[] parameters ={
new OracleParameter("vipno",OracleType.VarChar,50),
new OracleParameter("point",OracleType.VarChar,30),
new OracleParameter("str_reason ",OracleType.VarChar,20), //str_reason 我这里多了个空格,
new OracleParameter("myresult",OracleType.Int32)
};
最后没辙仅仅好仅仅保留一个參数,去调试,即存储过程仅仅有第一个參数,我调用也仅仅用一个參数,其它參数凝视掉,经过測试没有问题。
大概第三个參数时发现了问题,我的“”里面和存储过程的第三个參数相比多了一个空格,就是由于这个空格,导致出现了这个不好查找的错误。
问题到此也就攻克了。
事实上说究竟还要要大家要有方法,多去尝试,互相鼓舞之。