ora-01002 выборка вне очереди по неочевидным причинам - PullRequest
2 голосов
/ 09 мая 2020

У меня есть процедура и связанная с ней функция, которая связывает вывод с datatable. Но при заполнении таблицы данных я получаю ошибку, как показано ниже. Также проверил в Google, но ничего не работает

ora-01002 выборка вне последовательности

Вот ссылка на процедуру

ссылка

Также ниже приведен код для заполнения дататаблицы

public DataTable GetSPANByMZ(string USERTYPE, string SPANTYPE, string MZONE, string OPERATIONTYPE)
        {
            DataTable dtSPAN = new DataTable();
            try
            {
                DBObject ObjDBObject = new DBObject(strConnectionString);
                string strProcedureName = "";
                if (SPANTYPE == "INTERCITY" || SPANTYPE == "INTRACITY" || SPANTYPE == "ENTERPRISE")
                {
                    strProcedureName = strPackageName + ".GET_SPAN_BY_MZ";
                }
                else if (SPANTYPE == "FTTX")
                {
                    strProcedureName = strPackageName + ".GET_FTTX_BY_MZ ";
                }
                //else
                //{
                //    strProcedureName = strPackageName + ".GET_SPANINFO_BY_SPAN_MZ_LNK";
                //}

                List<OracleParameter> lstParameters = new List<OracleParameter>();

                OracleParameter ObjOracleParameter = new OracleParameter("PUSERTYPE", USERTYPE);
                OracleParameter ObjOracleParameter1 = new OracleParameter("POPERATIONTYPE", OPERATIONTYPE);
                OracleParameter ObjOracleParameter2 = new OracleParameter("PSPANTYPE", SPANTYPE);
                OracleParameter ObjOracleParameter3 = new OracleParameter("PMAINTZONECODE", MZONE);
                OracleParameter ObjOracleParameter4 = new OracleParameter("PSPANDATA", OracleDbType.RefCursor, ParameterDirection.Output);

                lstParameters.Add(ObjOracleParameter);
                lstParameters.Add(ObjOracleParameter1);
                lstParameters.Add(ObjOracleParameter2);
                lstParameters.Add(ObjOracleParameter3);
                lstParameters.Add(ObjOracleParameter4);

                dtSPAN = ObjDBObject.ExecuteDataTableProcedure(strProcedureName, lstParameters);
            }
            catch (Exception e)
            {
                //throw;
                ErrorLog.HandleErrorLog(USERTYPE, "", "GetSPANByMZ", e.Message);
                /*
                 * Error(string LogType, string functionname, string msg)
                 */
                ApplicationLog.Error("Error", "GetSPANByMZ", e.Message);
            }

            return dtSPAN;
        }

Пожалуйста, предложите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...