conn = new OracleConnection(connstr);
             comm = new OracleCommand();
            comm.CommandType = CommandType.StoredProcedure;
            comm.CommandText = "P_YANGLAOLIXI";
             para1 = new OracleParameter(":aac001", "41100000000001");
             para2 = new OracleParameter(":balance", OracleType.Double);
            para2.Direction = ParameterDirection.Output;
            comm.Parameters.Add(para1);
            comm.Parameters.Add(para2);
            comm.Connection = conn;
            conn.Open();
            comm.ExecuteScalar();----执行的时候出错了~
错误:未处理InvalidOperationException
内部.net Framework数据提供程序错误30.

解决方案 »

  1.   

    你把参数放进去然后在SQLPLUS中存储进程可以跑么?
      

  2.   

                 conn = new OracleConnection(connstr);
                 comm = new OracleCommand();
                comm.CommandType = CommandType.StoredProcedure;
                comm.CommandText = "P_YANGLAOLIXI";
                 para1 = new OracleParameter("参数名1", 参数类型);
                 para1.value = 参数值;
                 para2 = new OracleParameter("参数名2", OracleType.Double);
                 para2.value = 参数值;
                para2.Direction = ParameterDirection.Output;
                comm.Parameters.Add(para1);
                comm.Parameters.Add(para2);
                comm.Connection = conn;
                conn.Open();
                comm.ExecuteScalar();----不确定这个是不是正确
                
      

  3.   

     comm.ExecuteScalar();----不确定这个是不是正确 
    就是执行到这出错了
      

  4.   

    comm.ExecuteNonQuery()
    换成这样的也是同样的错误
      

  5.   

                 para1 = new OracleParameter(":aac001", "41100000000001");
                 para2 = new OracleParameter(":balance", OracleType.Double);
    ===>             para1 = new OracleParameter("aac001", "41100000000001");
                 para2 = new OracleParameter("balance", OracleType.Double);
      

  6.   

    谢谢大家帮忙~我是把config里的connstr直接拿来用了 ~把那个code去掉就可以了
      

  7.   

      para1   =   new   OracleParameter(":aac001",   "41100000000001"); 
                              para2   =   new   OracleParameter(":balance",   OracleType.Double); 
    ===>                           para1   =   new   OracleParameter("aac001",   "41100000000001"); 
                              para2   =   new   OracleParameter("balance",   OracleType.Double); 改这个