访问oracle存储过程,出现如下错误:
ORA-06550: line 1, column 23: PLS-00222: no function with name 'PROC_TEST_TEST' exists in this scope ORA-06550: line 1, column 7: PL/SQL: Statement ignored 是什么原因造成的?怎样解决?

解决方案 »

  1.   

    'PROC_TEST_TEST' 这个存储过程不存在
      

  2.   

    要这样写:
    myCommand.CommandText = "DBName.PName";
    数据库名.存储过程
      

  3.   

    试试在'PROC_TEST_TEST' 前加上你访问数据库的用户名
      

  4.   

    还是不行,我把代码贴出来,希望有人帮忙解决这个问题,
    oracle存储过程:
    create or replace procedure PROC_Test_Test is
    Begin
      Return;
    end PROC_Test_Test;
    -------------------------------------------------------------db.RunProc("SXIT.PROC_TEST_TEST");//调用oracle存储过程-------------------------------------------------------------
    public int RunProc(string procName)
    {
    OracleCommand cmd=CreateCommand(procName,null);
    cmd.ExecuteNonQuery();
    this.Close();
    return (int)cmd.Parameters["ReturnValue"].Value;
    }
    public OracleCommand CreateCommand(string procName,OracleParameter[] prams)
    {
    Open();
    OracleCommand cmd=new OracleCommand(procName,con);
    cmd.CommandType=CommandType.StoredProcedure;
    //把参数传入存储过程
    if(prams!=null)
    {
    foreach(OracleParameter parameter in prams)
    {
    cmd.Parameters.Add(parameter);
    }
    }
    //加入返回参数
    cmd.Parameters.Add(new OracleParameter("ReturnValue",OracleType.Int32,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
    return cmd; }
      

  5.   

    根据楼主所贴出来的代码所分析,是不是oracle存储过程返回值有问题?
    此存储过程好象没有返回值吧,