Site icon EfmSoft

¿Qué significa el código HRESULT 0x8004D00C (XACT_E_NORESOURCE)?

 
Anterior Siguiente
XACT_E_NOISORETAIN XACT_E_NOTCURRENT

XACT_E_NORESOURCE

Qué significa XACT_E_NORESOURCE

XACT_E_NORESOURCE corresponde al HRESULT 0x8004D00C. Windows lo describe así: «No hay ningún recurso asociado actualmente a esta inscripción.».

La constante describe una condición concreta de inscripción de resource managers y correspondencia entre UOW, enlistment y recurso; aquí la inscripción existe, pero ya no tiene un recurso asociado sobre el que realizar la operación.

Qué comprobar

  • Captura UOW, RMID, identificador de enlistment, resource manager, flags de single-phase y la llamada exacta de enlist/re-enlist en el intento que devuelve 0x8004D00C.
  • Verifica la precondición inmediatamente anterior a la llamada: enlistment, prepare, commit, abort, re-enlist o recovery requieren estados distintos.
  • Comprueba de forma explícita esta condición: la inscripción existe, pero ya no tiene un recurso asociado sobre el que realizar la operación.

Tratamiento y recuperación

Corrige la relación entre la transacción y el resource manager que participa en ella. Reutiliza solo el enlistment y el UOW que pertenecen a esa generación; al reintentar, crea una inscripción nueva si la anterior ya quedó resuelta o invalidada.

Diferencias con resultados cercanos

La prueba final debe demostrar tanto el resultado de negocio como el outcome de cada recurso enlistado. Un commit local aislado no prueba atomicidad distribuida.

Referencias técnicas


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

Exit mobile version