读书人

调用ora存储过程时报ORA-06550异常

发布时间: 2012-01-12 22:11:58 作者: rapoo

调用ora存储过程时报ORA-06550错误
代码如下:

public static void jfzw_xz(string nbr, int paid_money, int pay_flag, string staff_id, out string O_writeoff_id, out string O_cursor_id, out string O_res, out string O_errinfo)
{
OracleParameter p1 = new OracleParameter( "i_acct_nbr ", OracleType.VarChar, 7);
p1.Value = nbr;
p1.Direction = ParameterDirection.Input;

OracleParameter p2 = new OracleParameter( "i_paid_money ", OracleType.VarChar, 8);
p2.Value = paid_money;
p2.Direction = ParameterDirection.Input;

OracleParameter p3 = new OracleParameter( "i_pay_flag ", OracleType.VarChar, 1);
p3.Value = pay_flag;
p3.Direction = ParameterDirection.Input;

OracleParameter p4 = new OracleParameter( "i_staff_id ", OracleType.VarChar, 3);
p4.Value = staff_id;
p4.Direction = ParameterDirection.Input;

OracleParameter p5 = new OracleParameter( "o_writeoff_id ", OracleType.VarChar, 10);
p5.Direction = ParameterDirection.Output;
OracleParameter p6 = new OracleParameter( "o_cursor ", OracleType.VarChar, 10);
p6.Direction = ParameterDirection.Output;
OracleParameter p7 = new OracleParameter( "o_res ", OracleType.VarChar, 3);
p7.Direction = ParameterDirection.Output;
OracleParameter p8 = new OracleParameter( "o_errinfo ", OracleType.VarChar, 100);
p8.Direction = ParameterDirection.Output;

OracleConnection conn = DB.jfzw();
conn.Open();
OracleCommand cmd = new OracleCommand( "jfzw.tams_bill.sp_cancel_account ", conn);
cmd.CommandType = CommandType.StoredProcedure;


cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Parameters.Add(p4);
cmd.Parameters.Add(p5);
cmd.Parameters.Add(p6);
cmd.Parameters.Add(p7);
cmd.Parameters.Add(p8);
cmd.ExecuteNonQuery();

O_writeoff_id = p5.Value.ToString();
O_cursor_id = p6.Value.ToString();
O_res = p7.Value.ToString();
O_errinfo = p8.Value.ToString();
}

这调用的是ORA的一个包,像:“OracleType.VarChar, 10”这样的参数怎么设定呀?

[解决办法]
没有权限把,你仔细看看

读书人网 >oracle

热点推荐