| Anterior | Siguiente |
| SL_E_INVALID_USE_OF_ADD_ON_PKEY | CO_E_THREADINGMODEL_CHANGED |
CONTEXT_E_NOTRANSACTION
Qué significa CONTEXT_E_NOTRANSACTION
CONTEXT_E_NOTRANSACTION corresponde al HRESULT 0x8004E027. Windows indica: «La operación solicitada requiere que el contexto actual tenga una transacción, pero no la tiene.».
Windows devuelve este HRESULT dentro de estado y lifecycle de transacciones dentro del contexto COM+. La pista principal es la siguiente: El método requiere una transacción pero el contexto no contiene ninguna; revisa atributos transaccionales y forma de activación del componente. La traza útil debe incluir ID de transacción, contexto del objeto, voto del componente, estado commit/abort, resource manager y estado de MSDTC/transaction manager.
Qué comprobar
- Conserva ID de transacción, contexto del objeto, voto del componente, estado commit/abort, resource manager y estado de MSDTC/transaction manager y marca el instante exacto de la operación para correlacionarlo con eventos de COM+, SCM, RPC o MSMQ.
- Comprueba que el estado observado coincide con «La operación solicitada requiere que el contexto actual tenga una transacción, pero no la tiene.» y descarta una transición posterior que haya sustituido el error original.
Tratamiento recomendado
Encuentra la primera transición que cambió el estado de la transacción: voto, abort, fallo del administrador de recursos o indisponibilidad de TM. Un commit o reintento posterior no puede reactivar una transacción que ya quedó anulada.
Cómo distinguirlo de resultados cercanos
CONTEXT_E_ROLENOTFOUNDno es equivalente; su descripción es «El rol especificado no está configurado para la aplicación.».CONTEXT_E_SYNCH_TIMEOUTno es equivalente; su descripción es «El componente está configurado para usar sincronización y un subproceso agotó el tiempo de espera mientras esperaba entrar en el contexto.».
Cierra el diagnóstico repitiendo la acción desde un estado conocido y comprobando que «La operación solicitada requiere que el contexto actual tenga una transacción, pero no la tiene.» deja de ser cierto; cualquier código distinto merece su propio análisis.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.