一個存儲過程,調試時沒問題,但是在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)
};
最後沒轍只好只保留一個參數,去調試,即存儲過程只有第一個參數,我調用也只用一個參數,其他參數註釋掉,經過測試沒有問題。
大概第三個參數時發現了問題,我的“”裏面和存儲過程的第三個參數相比多了一個空格,就是因爲這個空格,導致出現了這個不好查找的錯誤。
問題到此也就解決了。
其實說到底還要要大家要有方法,多去嘗試,互相鼓勵之。