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"

  • 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.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f