OracleParameterCollection.Add
方法。誤って間違った電話をかけたようです。
必要なのは追加(文字列、OracleDbType、int、object、ParameterDirection)
、この場合、 objectの値が欠落しているだけです。 パラメータ。このパラメータには、使用しているOracleパラメータの初期値が含まれている必要があります。ただし、あなたの場合、初期値は out であるため、重要ではありません。 パラメータ。 nullを追加します 50の後 ストアドプロシージャの呼び出しは成功するはずです。
呼び出したのは Add(文字列、OracleDbType、オブジェクト、ParameterDirection)
。サイズ50 パラメータの初期値として解釈されています。 Oracleが返すエラー(「数値または値のエラー」)を解釈する方法がわかりません。これは、Oracleが文字列を数値に変換しようとして失敗したことを意味します。おそらく値50 タイプOracleDbType.Varchar2をオーバーライドします したがって、Oracleは文字列ではなく数値を期待していますか?
私が見つけた別の問題がいくつかありました:
-
command.Parameters ["SP_REQ_NUM"]を実行する必要がありますcommand.Parameters ["SP_NUM"]である ? - ストアドプロシージャは数値を返しません。
Convert.ToInt32を呼び出す201405 001などの文字列 失敗します。