¿Qué significa el código HRESULT 0xC800044F (hrTransTooDeep)?

 
Anterior Siguiente
hrWriteConflict hrInvalidSesid

hrTransTooDeep

Qué cambia este HRESULT

hrTransTooDeep corresponde a la condición “la sesión superó la profundidad máxima soportada de transacciones/save points anidados”.

El valor publicado es 0xC800044F; la condición JET correspondiente es JET_errTransTooDeep.

Objeto que debe conservarse

El diagnóstico se centra en recurso interno de ESE y límite efectivo de la instancia/caller. No es equivalente a hrNotInTransaction: ese valor indica que la operación exige una transacción activa, pero la sesión no tiene ningún save point/transacción. También se distingue de hrSessionWriteConflict, donde dos cursores de la misma sesión intentaron reemplazos incompatibles del mismo registro.

Aislamiento de la causa

  • Registra la primera llamada donde se cumple la condición concreta: la sesión superó la profundidad máxima soportada de transacciones/save points anidados.
  • Conserva el contexto de recurso interno de ESE y límite efectivo de la instancia/caller; para esta página las APIs/estructuras observadas en la referencia incluyen JetBeginTransaction, JET_SESID, JetBeginSession, JetCommitTransaction, JetRollback.
  • Antes del retry, corrige únicamente la precondición indicada por el resultado y repite la misma llamada mínima para verificarla.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.