使用参数 - 数字数组调用过程时出现Oracle 00306错误

时间:2012-06-22 09:44:58

标签: ado.net oracle11g

我在类型“create or replace type numbers_table is table of numbers”中定义了类型。我有一个具有此类型参数(ids_list IN numbers_table)的过程。

在使用Oracle客户端调用该过程时,我一直收到“..错误数量或类型的参数...”错误。

我正在传递这样的参数:

    OracleParameter param1 = new OracleParameter("ids_list", OracleDbType.Decimal, ParamDirection.Input);
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
param1.ArrayBindSize = new int[collectioncount];
param1.ArrayBindStatus = new OracleParameterStatus[collectioncount];
param1.Size = collectioncount;

for(int i = 0; i < collectioncount; i++)
{
param1[i].ArrayBindSize = 8000;
param1[i].ArrayBindStatus = new OracleParameterStatus.Success;

}

param1.Value = collection;

仍然没有运气......我试图将OracleDbType.Decimal改为Double,Long,Int64等,但对我来说没有任何作用。

0 个答案:

没有答案