首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2012-01-12 
调用ora存储过程时报ORA-06550错误代码如下:publicstaticvoidjfzw_xz(stringnbr,intpaid_money,intpay_fla

调用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”这样的参数怎么设定呀?

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

热点排行