PGS-220000 PostgreSQL : ERREUR : erreur de type "bigint out of range" dans le Campaign Classic
Découvrez comment résoudre le problème PGS-220000 PostgreSQL : ERROR: Erreur de bigint hors plage dans Campaign Classic à l’aide de l’ID d’instance d’exécution .
Description description
Environnement
Adobe Campaign Classic v7
Problème
L'erreur suivante s'exécute dans le workflow d'archivage (mcSynch) de Message Center :
Résolution resolution
Solution
Le problème est l'identifiant de l'instance d'exécution qui a été utilisé pour identifier l'instance d'exécution RT.
Comme illustré ci-dessus, la valeur utilisée est 50,805,170.
L'identifiant de l'instance d'exécution est utilisé par le workflow d'archivage comme suit :
vars.CELL_OFFSET + "*" + vars.cellId + " + @id"
Où
-
CELL_OFFSET est une constante (72057594037927936) créée par l'activité "Informations de connexion".
-
cellId est l’ID de l’instance d’exécution.
Ces deux nombres ci-dessus sont multipliés ensemble. Le nombre de résultats finaux est supérieur à la valeur maximale du type bigint Postgres (Types numériques PostgreSQL).
Les deux valeurs sont ajoutées à la requête comme suit :
SELECT :#(1)# * :#(2)# + B0.iBatchEventId, B0.iBatchEventId, B0.iStatus, B0.iRetry, B0.tsSubmit, B0.tsScheduled, B0.tsExpiration, B0.tsCreated, B0.tsProcessing B0.tsProcessed, B0.tsLastModified, B0.sType, B0.iDeliveryId, B0.iWishedChannel, B0.sExternalId, B0.sOrigin, B0.sEmail, B0.iEmailFormat, B0.sMobilePhone, B0.sRegistrationToken, B0.i MobileAppId, B0.sLine1, B0.sLine2, B0.sLine3, B0.sLine4, B0.sLine5, B0.sLine6, B0.sLine7, B0.sCountryCode, B0.sLanguage, B0.iFolderId, B0.iCreatedById, B0.mData
FROM NmsBatchEvent B0
WHERE ((B0.iFolderId IN (SELECT précédents.iFolderId FROM XtkRights reportez-vous à la section où.iOperatorId IN (3798)) OU B0.iFolderId=0))
AND ((B0.iFolderId IN (SELECT précédents.iFolderId FROM XtkRights reportez-vous à la section où.iOperatorId IN (3798)) OU B0.iFolderId=0))
AND ((B0.iBatchEventId <
>
:#(3)#) AND (B0.tsLastModified <
:#(4)#))
ORDER BY truncdate(B0.tsLastModified, :#(5)#, 'Europe/Londres'), B0.iBatchEventId LIMIT 501'
Param(0)=72057594037927936\n —>
:#(1)#
Param(1)=50805170\n —>
:#(2)#
Param(2)=0\n Param(3)=09/04/2021 05:00:26\n Param(4)=1
La solution consiste à utiliser un nombre plus petit comme ID d’instance d’exécution.