ora-01036: 非法的变量名/编号

一个存储过程,调试时没问题,可是在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)
                                                };

最后没辙仅仅好仅仅保留一个參数,去调试,即存储过程仅仅有第一个參数,我调用也仅仅用一个參数,其它參数凝视掉,经过測试没有问题。

大概第三个參数时发现了问题,我的“”里面和存储过程的第三个參数相比多了一个空格,就是由于这个空格,导致出现了这个不好查找的错误。


问题到此也就攻克了。


事实上说究竟还要要大家要有方法,多去尝试,互相鼓舞之。

原文地址:https://www.cnblogs.com/gavanwanggw/p/7017008.html