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
などの文字列 失敗します。