问题
I have a procedure and its related function which binds the output to a datatable
.But while filling the datatable I get error as below. Also checked on google but nothing working
ora-01002 fetch out of sequence
Here is the link for the procedure
link
Also below is the code for filling the datatable
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;
}
Please suggest
来源:https://stackoverflow.com/questions/61689950/ora-01002-fetch-out-of-sequence-for-unobvious-reasons