Puede observar uno o más de los siguientes comportamientos:
Algunos archivos (generalmente con metadatos o identificadores muy grandes) no logran archivarse correctamente.
Los archivos se mueven a la carpeta Error en lugar de insertarse en la base de datos.
Los registros muestran una System.OverflowException relacionada con un fallo de conversión de Int64 → Int32.
El servicio DataLoader (DL) continúa recibiendo archivos, pero solo ciertos archivos fallan de forma repetitiva.
Reprocesar los archivos genera el mismo error nuevamente.
Esta condición impide que los archivos afectados se inserten en la base de datos a través del flujo estándar de ESM/DL.
El error ocurre cuando el ESM Business Layer intenta insertar datos utilizando un parámetro definido como Int32, pero el valor de origen es un Int64 que excede el rango permitido por Int32.
Detalles de la causa raíz:
Algunos campos de tablas o parámetros de procedimientos almacenados fueron definidos originalmente como INT (32 bits), mientras que los metadatos entrantes utilizan BIGINT (64 bits).
El archivo original Quest.AM.BusinessLayer.dll fuerza conversiones a Int32 para esos campos.
Cuando un archivo contiene valores mayores a 2,147,483,647 (máximo permitido por Int32), la conversión falla.
SQL Server rechaza el valor, lo que hace que DataLoader envíe el archivo a la carpeta Error.
Este problema surge por una falta de alineación entre el esquema de la base de datos, las definiciones del Business Layer y los procedimientos almacenados.
Detenga los servicios ESM y DL.
Haga una copia de seguridad del archivo Quest.AM.BusinessLayer.dll y reemplácelo con el DLL proporcionado en los adjuntos.
Abra los scripts ModifyingMessageTable.sql y ModifyingMessageInsertProcedure.sql en SSMS y ejecútelos respectivamente.
Corte y pegue todos los archivos .xml de la carpeta Error a la carpeta Export.
Reinicie el servicio DL y verifique que los archivos ahora se estén almacenando en la base de datos y no regresen a la carpeta Error.
Reinicie el servicio ESM.