簡體   English   中英

Oracle 數據訪問 output 參數混淆

[英]Oracle data access output parameter mixed up

我正在調用一個 Oracle 存儲過程,它包含 15 個輸入參數和 4 個 output 參數。 Output參數設置如下:

OracleParameter p_errn = cmd.Parameters.Add("pErrCode", OracleDbType.Decimal, 10);
                p_errn.Direction = ParameterDirection.Output;

                OracleParameter p_errm = cmd.Parameters.Add("pErrMsg", OracleDbType.Varchar2, 1000);
                p_errm.Direction = ParameterDirection.Output;

                OracleParameter pStatus = cmd.Parameters.Add("pStatus", OracleDbType.Decimal, 10); 
                pStatus.Direction = ParameterDirection.Output;

                OracleParameter pID = cmd.Parameters.Add("pID", OracleDbType.Varchar2, 1000);
                pID.Direction = ParameterDirection.Output;

我成功執行了程序,但 output 參數值混淆了。 應該在 pId 中的值在 pStatus 中,應該在 pStatus 中的值在 pErrMsg 中等等。

我還嘗試通過從參數集合中獲取值:

cmd.Parameters["pErrMsg"].Value.ToString()

但情況是一樣的。

我檢查了存儲過程,一切似乎都很好。 所有 output 參數設置正確。

任何人都有類似的問題或暗示是什么導致了這種行為?

所有參數必須按照在 ORACLE 上的存儲過程中定義的順序添加

輸入參數之一是亂序添加的,這導致了混亂。

暫無
暫無

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

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