从Oledb Connection调用Oracle函数
本文关键字:Oracle 函数 调用 Connection Oledb | 更新日期: 2023-09-27 18:21:25
嗨,我正试图使用以下代码调用Oracle函数,但它显示了类似的错误
"ORA-01403:未找到数据''nORA-06512:在''"TEST.VOD_BULK_TRANS1''"处,第47行''nRA-06512:在第1行"
该函数接受3个输入参数并返回一个整数值。
using (OleDbConnection conn= new OleDbConnection(connectionString))
{
conn.Open();
//set the command text (stored procedure name or SQL statement)
command.CommandText = "VOD_BULK_TRANS1";
command.Parameters.Add(new OleDbParameter("retVal", OleDbType.VarChar, 11, ParameterDirection.ReturnValue, true, 0, 0, "retVal", DataRowVersion.Current,null));
command.Parameters.Add( OleDbParameter("@t_list", videosListWithCommaSeparated);
command.Parameters.Add( OleDbParameter("@option1", 3);
command.Parameters.Add( OleDbParameter("@id1", groupId);
command.ExecuteNonQuery();
}
请告诉我如何使用Oledb Connecton调用函数或存储过程。
使用ado.net执行Stored Procedure
时,必须将IDbCommand
对象的CommandType
属性设置为CommandType.StoredProcedure
。样品:
using (OleDbConnection conn= new OleDbConnection(connectionString))
{
conn.Open();
// set the commend type here
command.CommandType = CommandType.StoredProcedure;
//set the command text (stored procedure name or SQL statement)
command.CommandText = "VOD_BULK_TRANS1";
command.Parameters.Add(new OleDbParameter("retVal", OleDbType.VarChar, 11, ParameterDirection.ReturnValue, true, 0, 0, "retVal", DataRowVersion.Current,null));
command.Parameters.Add( OleDbParameter("@t_list", videosListWithCommaSeparated);
command.Parameters.Add( OleDbParameter("@option1", 3);
command.Parameters.Add( OleDbParameter("@id1", groupId);
command.ExecuteNonQuery();
}