PGS-220000 PostgreSQL: ERRORE: errore bigint non compreso nell'intervallo in Campaign Classic
Scopri come risolvere il PGS-220000 PostgreSQL: ERROR: errore bigint fuori intervallo in Campaign Classic utilizzando l’ID dell’istanza di esecuzione.
Descrizione description
Ambiente
Adobe Campaign Classic v7
Problema
Il seguente errore viene eseguito nel flusso di lavoro di archiviazione (mcSynch) dal Centro messaggi:
Risoluzione resolution
Soluzione
Il problema è l’ID dell’istanza di esecuzione utilizzato per identificare l’istanza di esecuzione RT.
Come mostrato sopra, il valore utilizzato è 50,805,170.
L’ID dell’istanza di esecuzione viene utilizzato dal flusso di lavoro di archiviazione come segue:
vars.CELL_OFFSET + "*" + vars.cellId + " + @id"
Dove
-
CELL_OFFSET è una costante (72057594037927936) creata dall'attività "Informazioni di connessione".
-
cellId è l’ID dell’istanza di esecuzione.
Questi due numeri vengono moltiplicati insieme. Il numero del risultato finale è maggiore del valore massimo del tipo bigint Postgres (Tipi numerici PostgreSQL).
I due valori vengono aggiunti alla query come segue:
SELEZIONA :#(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.sExternal Id, B0.sOrigin, B0.sEmail, B0.iEmailFormat, B0.sMobilePhone, B0.sRegistrationToken, B0.iMobileAppId, 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 xr.iFolderId FROM XtkRights xr WHERE xr.iOperatorId IN (3798)) OR B0.iFolderId=0))
AND (((B0.iFolderId IN (SELECT xr.iFolderId FROM XtkRights xr WHERE xr.iOperatorId IN (3798)) OR B0.iFolderId=0)))
AND ((B0.iBatchEventId <
>
:#(3)#) AND (B0.tsLastModified <
:#(4)#))
ORDER BY truncdate(B0.tsLastModified, :#(5)#, 'Europa/Londra'), 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 soluzione consiste nell’utilizzare un numero inferiore come ID dell’istanza di esecuzione.