0

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

在使用 Oracle 客户端调用该过程时,我不断收到“..Wrong number or types of arguments ...”错误。

我像这样传递这个参数:

    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 等,但对我没有任何作用。

4

0 回答 0