我在类型“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等,但对我来说没有任何作用。