从.net调用oracle存储过程并获取PLS-00201:

从.net调用oracle存储过程并获取PLS-00201:,.net,oracle,stored-procedures,.net,Oracle,Stored Procedures,我不知道这里发生了什么事。突然之间,我很难调用以前很容易调用的存储过程。我得到上述例外 当我在SQLDeveloper中调用它们时,它们工作得很好。我是否需要更新连接字符串或dll或其他内容 更新:添加代码 if (implemtation == 1) sProc = "XXX.XXXXX"; else if (implemtation == 2) sProc = "xxx.xxxxx"; else

我不知道这里发生了什么事。突然之间,我很难调用以前很容易调用的存储过程。我得到上述例外

当我在SQLDeveloper中调用它们时,它们工作得很好。我是否需要更新连接字符串或dll或其他内容

更新:添加代码

        if (implemtation == 1)
            sProc = "XXX.XXXXX";
        else if (implemtation == 2)
            sProc = "xxx.xxxxx";
        else
            throw new Exception(string.Format("Error Determening stored Proc... Stored Proc: {0}",(sProc == "" ? "Empty" : sProc)));
        try
        {
            using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ACODBConnectionString2"].ConnectionString))
            {
                ///Not so simple getting Oracle Data back into .Net... However, these code sections do it...
                ///Consider placing this section into its own method for more a object oriented application... Little time to consider that now however
                using (OracleCommand cmd = new OracleCommand(sProc, conn))
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    OracleParameter inputParm = new OracleParameter("XXXXIn", OracleDbType.Decimal);
                    OracleParameter inputParm2 = new OracleParameter("XXXXIn", OracleDbType.Decimal);
                    OracleParameter inputParm3 = new OracleParameter("XXXXIn", OracleDbType.Decimal);
                    inputParm.Value = Double.Parse(PopID);
                    inputParm2.Value = Double.Parse(History);
                    inputParm3.Value = Double.Parse(isActive);
                    OracleParameter outRefParam = new OracleParameter("cur_out", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
                    cmd.Parameters.Add(inputParm);
                    cmd.Parameters.Add(inputParm2);
                    cmd.Parameters.Add(inputParm3);
                    cmd.Parameters.Add(outRefParam);
                    adapter = new OracleDataAdapter(cmd);
                    adapter.Fill(ds);
                    //cmd.ExecuteNonQuery();
                    acoData = SerializeOracleData(ds);
                }
            }
        }

几天前,这段代码还在运行。

请向我们展示您的代码。此外,查看完整的错误消息,而不仅仅是错误代码,也会有所帮助……请确保您从.net连接到Oracle的任何数据库架构仍然具有适当的角色/权限。代码非常具体,我不认为实际查看它会提供更多的洞察力。。。但是很好。