PGS-220000 PostgreSQL : ERREUR : erreur de type "bigint out of range" dans le Campaign Classic

Découvrez comment résoudre le PGS-220000 PostgreSQL : ERROR: bigint out error in range en 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.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 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