Campaign Classic: PGS-220000 PostgreSQL: ERROR: bigint fuera de rango

Última actualización: 2023-01-12

Descripción

Entorno
Adobe Campaign Classic v7

Problema
Se produce el siguiente error al ejecutar el flujo de trabajo de archivado (mcSynch) desde el Centro de mensajes:

Resolución

Solución
El problema es el ID de instancia de ejecución que se ha utilizado para identificar la instancia de ejecución de RT.

Como se muestra arriba, el valor utilizado es 50.805.170.

El flujo de trabajo de archivado utiliza la ID de instancia de ejecución de la siguiente manera:

vars.CELL_OFFSET + "*" + vars.cellId + " + @id"

Donde

  • CELL_OFFSET es una constante (72057594037927936) creada por la actividad "Información de conexión".

  • cellId es la ID de instancia de ejecución.

Estos dos números anteriores se multiplican juntos. El número del resultado final es mayor que el valor máximo del tipo de producto principal Postgres (Tipos numéricos PostgreSQL).

Los dos valores se añaden a la consulta de la siguiente manera:

SELECT   :#(1)# * :#(2)# + B0.iBatchEventId, B0.iBatchEventId, B0.iStatus, B0.iRetry, B0.tsSubmit, B0.tsScheduled, B0.tsExpiration, B0.tsCreated, B0.tsProcessing, B0.tsLastModified, B0.sType, B0.BiDeliveryId,0.iWishedChannel, B0.sExternalId, B0.sOrigin, B0.sEmail, B0.iEmailFormat, B0.sMobilePhone, B0.sRegistrationToken, B0.iMobileAppId, B0.sLine1, B0.sLine2, B0.sLine3, B0.ss.sLine3 Line4, B0.sLine5, B0.sLine6, B0.sLine7, B0.sCountryCode, B0.sLanguage, B0.iFolderId, B0.iCreatedById, B0.mData FROM NmsBatchEvent B0 WHERE ((B0.iFolderId IN) (SELECT xr.iFolderId DESDE XtkRights xr WHERE xr.iOperatorId IN (3798) O B0.iFolderId=0) Y ((B0.iFolderId IN (SELECT xr.iFolderId FROM XtkRights xr WHERE xr.iOperatorId IN (3798)) O B0.ii FolderId=0)) AND ((B0.iBatchEventId :#(3)#) AND (B0.tsLastModified :#(4)#)) ORDEN POR truncdate(B0.tsLastModified, :#(5)#, 'Europe/London'), B0.iBatchEventId LIMIT 501' Parámetro(0))=72057594037927936\n — :#(1)#

Param(1)=50805170\n — :#(2)#

Param(2)=0\n Param(3)=09/04/2021 05:00:26\n Parámetro(4)=1

La solución es utilizar un número menor como ID de instancia de ejecución.

En esta página