先在sqlplus里面验证你的存储过程能顺利执行,然后再到asp.net里面调试。

解决方案 »

  1.   

    sql plus里面执行一点问题都没有。
    我现在把调用存储过程的语句改成了
    String strConnect = System.Configuration.ConfigurationSettings.AppSettings["strConnectDB"].ToString();
    OracleConnection oraConn = new OracleConnection(strConnect);


    OracleCommand myCommand = new OracleCommand();
    myCommand.Connection = oraConn;
    OracleParameterCollection myParamCollection = myCommand.Parameters;
    OracleParameter myNewParameter = myParamCollection.Add("p_id", Convert.ToInt32("245"));
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.CommandText = "execute enshi2004.usp_test()";
    oraConn.Open();
    myCommand.ExecuteNonQuery ();
    //每次总是这里出错,好像是调用存储过程出现的问题

    oraConn.Close();
    Response.Write("Success!");
    但是,还是出错,提示错误是:
    ORA-06550: 第 1 行, 第 15 列: PLS-00103: 出现符号 "ENSHI2004"在需要下列之一时: := . ( @ % ; immediate 符号 ":=" 被替换为 "ENSHI2004" 后继续。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 15 列: PLS-00103: 出现符号 "ENSHI2004"在需要下列之一时: := . ( @ % ; immediate 符号 ":=" 被替换为 "ENSHI2004" 后继续。 源错误: 
    行 42: 
    行 43:  oraConn.Open();
    行 44:  myCommand.ExecuteNonQuery ();
    行 45:  //每次总是这里出错,好像是调用存储过程出现的问题
    行 46: 
     源文件: d:\保留\enshi\kjcgxx\testusp.aspx.cs    行: 44
      

  2.   

    OracleCommand myCommand = new OracleCommand("usp_test",oraConn)myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.Parameters.Add("p_id",245);