¿Qué significa el código HRESULT 0xC8000402 (hrRecordTooBig)?

 
Anterior Siguiente
hrInvalidPath hrTooManyOpenDatabases

hrRecordTooBig

Condición de ESE: hrRecordTooBig

hrRecordTooBig indica que la fila ensamblada supera el presupuesto máximo de tamaño del registro. El valor publicado es 0xC8000402; la condición JET correspondiente es JET_errRecordTooBig.

No es equivalente a hrColumnDoesNotFit: ese valor indica que el valor de la columna no cabe dentro del presupuesto de tamaño del registro actual. También se distingue de hrNullInvalid, donde la definición de la columna exige un valor no NULL y el update intenta dejarla en NULL.

Comprobación dirigida

  • Registra la primera llamada donde se cumple la condición concreta: la fila ensamblada supera el presupuesto máximo de tamaño del registro.
  • Conserva el contexto de registro actual, clustered key y versión visible por el cursor; para esta página las APIs/estructuras observadas en la referencia incluyen JET_COLUMNDEF, JetAddColumn, JetDeleteColumn, JetSetColumn, JetRetrieveColumn.
  • Antes del retry, corrige la definición o la posición del cursor con una migración/transacción controlada, sin alterar schema a ciegas.

La aceptación de la corrección consiste en repetir la misma API con el mismo tipo de objeto y comprobar que hrRecordTooBig ya no aparece, sin perder el estado válido del cursor, archivo o backup.

Referencias técnicas


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