En la versión 1.8.0.2 en Oracle de un cliente esta dando el siguiente inconveniente al intentar ingresar a Solicitud de Horas extras y a solicitud de Descuentos Eventuales desde el Portal. Errores desde el elmah: SOLICITUD HORAS EXTRAS Oracle.ManagedDataAccess.Client.OracleExceptionORA-00972: el identificador es demasiado largo System.Data.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-00972: el identificador es demasiado largo
at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int32 lobPrefetchSize, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Boolean isDescribeOnly, Boolean isFromEF)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- End of inner exception stack trace ---
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.ExecuteTResultType
at System.Data.Objects.ObjectQuery SOLICITUD DESCUENTOS EVENTUALES Oracle.ManagedDataAccess.Client.OracleExceptionORA-00972: el identificador es demasiado largo System.Data.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-00972: el identificador es demasiado largo
at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int32 lobPrefetchSize, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Boolean isDescribeOnly, Boolean isFromEF)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- End of inner exception stack trace ---
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.ExecuteTResultType
at System.Data.Objects.ObjectQuery |
Ya tengo la respuesta para tu problema:
En conclusión es un error ya resuelto en una versión muy anterior a la actual. |
En ambos casos falla en el mismo lugar y es un método en donde le pide a la base de datos todas las entidades (horas extras o descuentos eventuales) en donde el código de expediente que digitó la transacción es igual al código de expediente asociado al usuario autenticado. Revisa el código de expediente del usuario que está ingresando a esas pantallas. |
Este es el REQUEST que me da al momento de dar clic en la opción de Solicitud de Horas Extras:
Pone un profiler con EFProfiler y nos envias la instrucción select que genera la consulta al momento de ejecutar el request. Tengo la teoría que hay un nombre de objeto que tiene 30 caracteres y que al generar la instrucción select, como le pone unos alias a las tablas, este alias resulta en un identificador mayor de 30 caracteres. Fernando te acabo de mandar los procedimientos que estan dando inconveniente a tu correo. |
El error es bien claro: ORA-00972: el identificador es demasiado largo
¿Qué información estas enviando a guardar? Podrías incluir la información del Request
Fernando, el problema da desde que le das clic al hipervinculo de Solicitud de Horas Extras, es decir ni si quiera entra a la pantalla de la solicitud de horas extras.
Y probando con otra instalación de Evolution en Oracle estas opciones si funcionan, como validar que es lo que ocurre?
Por eso mismo, te estaba pidiendo que adjuntaras la información del REQUEST, para ver que está enviando al server.
Voy a ver si puedo reproducirlo en desarrollo en esa misma versión, ya les cuento...