Campaign Classic : PGS-220000 PostgreSQL : ERROR : bigint hors plage

Description

Environnement
Adobe Campaign Classic v7

Problème
Vous obtenez l’erreur suivante lors de l’exécution du workflow d’archivage (mcSynch) à partir de Message Center :

Résolution

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"

  • 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.iDelivery Id, B0.iWishedChannel, B0.sExternalId, B0.sOrigin, B0.sEmail, B0.iEmailFormat, B0.sMobilePhone, B0.sRegistrationToken, B0.iMobileAppId, B0.sLine1, B0.sLine2, B0.sLine3,0.sLine4, B0.sLine5, B0.sLine6, B0.sLine7, B0.sCountryCode, B0.sLanguage, B0.iFolderId, B0.iCreatedById, B0.mData DEPUIS NmsBatchEvent B0 OÙ ((B0.iFolderId) SEIN T xt.iFolderId DE XtkRights pour la section où Sous xt.iOperatorId IN (3798) OU B0.iFolderId=0) ET ((B0.iFolderId IN (SELECT xt.iFolderId FROM XtkRights pour la section xtk.iOperatorId IN (37998)))) OU B0.iFolderId=0) ET ((B0.iBatchEventId :#(3)#) ET (B0.tsLastModified :#(4)#))) ORDER PAR truncdate(B0.tsLastModified, :#(5)#, 'Europe/Londres'), B0.iBatchEventLIMLIID IT 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.

Sur cette page