C#向Oracle存储过程传递数组参数

自定义类型:create or replace TYPE COL AS VARRAY(100) OF varchar2(100);

存储过程:create or replace
PROCEDURE CreateModelTable
(
tableName VARCHAR2,
colName COL,
colType COL,
sqlflag OUT VARCHAR2
)

C#传参语句:

OracleParameter pColName = new OracleParameter(@"colName", Oracle.DataAccess.Client.OracleDbType.Varchar2);

pColName.Direction = System.Data.ParameterDirection.Input;

pColName.Value = nameStr; // string[]类型

pColName.CollectionType = OracleCollectionType.PLSQLAssociativeArray;

ODP.NET How to pass array of strings to an Oracle Stored procedure?

上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!