c# 操作oracle存储过程
折腾很久都没有正确
代码:
private void Exeproce(string struser,string procname,string tppartname,string strfilepath)
{
OracleParameter parename = new OracleParameter("tpname",OracleType.VarChar);
parename.Value = tppartname;
OracleParameter parapath = new OracleParameter("ora_ph", OracleType.VarChar);
parapath.Value = strfilepath;
OracleParameter[] para = new OracleParameter[] { parename, parapath };
OracelTool.storeprocdure(struser, procname, para);
}
public static void storeprocdure(string strcon, string strproc_name, OracleParameter[] para)
{
using (OracleConnection myCon = new OracleConnection(strcon))
{
myCon.Open();
OracleCommand mycmd = new OracleCommand();
mycmd.CommandType = CommandType.StoredProcedure;
mycmd.CommandText = strproc_name;
mycmd.Connection = myCon;
//foreach (OracleParameter par in para)
//{
// mycmd.Parameters.Add(par.ParameterName, par.OracleType);
// mycmd.Parameters[par.ParameterName].Value = par.Value;
//mycmd.Parameters.Add(par);
//}
mycmd.Parameters.AddRange(para);
mycmd.ExecuteNonQuery();
}
都不正确;
报错:
ORA-06550:第1行,第7列
pls-00306调用xxxx的参数个数或者类型错误
ORA-06550:第1行第7列
pl/sql:statement ignored
代码:
private void Exeproce(string struser,string procname,string tppartname,string strfilepath)
{
OracleParameter parename = new OracleParameter("tpname",OracleType.VarChar);
parename.Value = tppartname;
OracleParameter parapath = new OracleParameter("ora_ph", OracleType.VarChar);
parapath.Value = strfilepath;
OracleParameter[] para = new OracleParameter[] { parename, parapath };
OracelTool.storeprocdure(struser, procname, para);
}
public static void storeprocdure(string strcon, string strproc_name, OracleParameter[] para)
{
using (OracleConnection myCon = new OracleConnection(strcon))
{
myCon.Open();
OracleCommand mycmd = new OracleCommand();
mycmd.CommandType = CommandType.StoredProcedure;
mycmd.CommandText = strproc_name;
mycmd.Connection = myCon;
//foreach (OracleParameter par in para)
//{
// mycmd.Parameters.Add(par.ParameterName, par.OracleType);
// mycmd.Parameters[par.ParameterName].Value = par.Value;
//mycmd.Parameters.Add(par);
//}
mycmd.Parameters.AddRange(para);
mycmd.ExecuteNonQuery();
}
都不正确;
报错:
ORA-06550:第1行,第7列
pls-00306调用xxxx的参数个数或者类型错误
ORA-06550:第1行第7列
pl/sql:statement ignored
...全文
相关推荐
C# Oracle存储过程工具类
这是C# 操作Oracle 存储过程的一个工具类,比较好用,分享给大家。
C#调用oracle方法(包括调用存储过程)
详细的记录了C#如何调用oracle以及带有存储过程输出变量的方法,适合初学者。
C#连接Oracle实例(含源码和数据库)
用C#和Oracle实现的小系统,包括基本的添加,删除,修改,查询功能
C#调用oracle存储过程最简单的实例[归类].pdf
C#调用oracle存储过程最简单的实例[归类].pdf
C#调用带游标的oralce存储过程
C#winform调用带输出游标和其它输出参数的oralce存储过程示例,有需要的网友可参考参考,实测通过


