【发布时间】:2013-12-02 22:48:31
【问题描述】:
我正在寻找一种将参数类型“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);
【问题讨论】:
-
我收到无效绑定错误。
-
不知何故,以下解决方案正在工作......但我没有提供参数名称。 ` OracleParameter inputParameter = new OracleParameter(); inputParameter.OracleDbType = OracleDbType.Int32; inputParameter.Direction = ParameterDirection.Input; inputParameter.CollectionType = OracleCollectionType.PLSQLAssociativeArray; inputParameter.Value = acctId.ToArray();`
-
那么它现在工作了吗?
标签: c# oracle stored-procedures