【发布时间】:2017-03-09 19:37:31
【问题描述】:
我正在尝试将一个数组传递给 oracle 程序。我搜索了一下,首先我创建了一个名为“dizi”的类型(比如这里enter link description here)。所以它适用于oracle开发人员。问题是;我不能将我的 c# 数组作为参数传递给过程。那么如何将我的数组传递给我的程序呢?
这是我的代码(当我执行时,oracle 错误提示:并非所有变量都绑定)
public void InsertQuestion(List<string> area_list)
{
quest_areas = area_list.ToArray();
command.Connection = connect;
connect.Open();
var arry = command.Parameters.Add("Areas", OracleDbType.Varchar2);
arry.Direction = ParameterDirection.Input;
arry.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
arry.Value = quest_areas;
command.CommandText ="TESTPROCEDURE(:Areas)";
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
connect.Close();
}
【问题讨论】:
-
你已经在做
command.Parameters.Add添加DbParameter,内部OracleParameter -
但是不行?
-
什么错误,你能检查一下ODP.Net示例
-
我想你错过了
arry.Size = quest_areas.Length; -
@MrinalKamboj 错误是:并非所有变量都绑定
标签: c# arrays oracle stored-procedures