簡體   English   中英

錯誤的號碼或類型的存儲過程調用

[英]Wrong number or types in call of a sproc

每當我嘗試從C#執行存儲過程錯誤(參數的數量或類型錯誤)時,我都會不斷收到該錯誤。

這是sproc變量的定義:

requestNumber varchar2,
requestXML clob,
userID varchar2,
activityID integer,
origin_zip varchar2,
destination_zip varchar2,
pur_date varchar2

這是C#代碼中oracle參數的定義:

OracleParameter _requestNumber = new OracleParameter("requestNumber", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = requestNumber };

OracleParameter _requestXML = new OracleParameter("requestXML", OracleDbType.Clob) { Direction = ParameterDirection.Input, Value = xml };

OracleParameter _userID = new OracleParameter("userID", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = input.UserID };

OracleParameter _activityID = new OracleParameter("activityID", OracleDbType.Int32) { Direction = ParameterDirection.Input, Value = Convert.ToInt32(activityID) };

OracleParameter _sOriginZip = new OracleParameter("origin_zip", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = _originZip };

OracleParameter _sDestinationZip = new OracleParameter("destination_zip", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = _destinationZIP };

OracleParameter _sPurDate = new OracleParameter("pur_date", OracleDbType.Varchar2) { Direction = ParameterDirection.Input, Value = _purDate };

                command.Parameters.Add(_requestNumber);
                command.Parameters.Add(_requestXML);
                command.Parameters.Add(_userID );
                command.Parameters.Add(_activityID );
                command.Parameters.Add( _sOriginZip);
                command.Parameters.Add( _sDestinationZip);
                command.Parameters.Add( _sPurDate);

是什么導致該異常?

在添加參數之前,請嘗試使用以下代碼清除命令參數,

command.Parameters.Clear();

還要檢查您是否設置了command.Type 。鍵入storageProcedure

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM