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)
                                                };

最后没辙只好只保留一个参数,去调试,即存储过程只有第一个参数,我调用也只用一个参数,其他参数注释掉,经过测试没有问题。

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


问题到此也就解决了。


其实说到底还要要大家要有方法,多去尝试,互相鼓励之。

你可能感兴趣的:(NET,oracle)