簡體   English   中英

數字表Oracle存儲過程參數,如何從C#傳遞它

[英]TABLE OF NUMBERS Oracle stored procedure Parameter, How to pass it from C#

我正在尋找一種將參數類型'TABLE OF NUMBER'從C#傳遞給ORACLE SP的方法。 我正在使用“ Oracle.DataAccess”。 我嘗試使用UDT方法,但無法正常工作

Oracle.DataAccess.Client.OracleParameter param1 = new Oracle.DataAccess.Client.OracleParameter("IN_ACCT_ID_ARR", Oracle.DataAccess.Client.OracleDbType.Ref, ParameterDirection.Input);
param1.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
//  param1.UdtTypeName = "num_list";
param1.Value = acctId;
cmd.Parameters.Add(param1);

它是通過以下方式解決的:

   cmd.CommandType = CommandType.StoredProcedure;

            OracleParameter inputParameter = new OracleParameter();
            inputParameter.OracleDbType = OracleDbType.Int32;
            inputParameter.Direction = ParameterDirection.Input;
            inputParameter.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
            inputParameter.Value = acctId.ToArray();

            cmd.Parameters.Add(inputParameter);

暫無
暫無

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

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