PGS-220000 PostgreSQL:错误:Campaign Classic中出现bigint超出范围错误
了解如何解决 pgs-220000 PostgreSQL:错误: 使用执行实例IDCampaign Classic时出现bigint超出范围错误。
描述 description
环境
Adobe Campaign Classic v7
问题
以下错误在消息中心的存档工作流(mcSynch)中运行:
解决方法 resolution
解决方案
问题是用于标识RT执行实例的执行实例ID。
如上所示,使用的值为 50,805,170。
执行实例ID由存档工作流使用,如下所示:
vars.CELL_OFFSET + "*" + vars.cellId + " + @id"
位置
-
CELL_OFFSET是由“连接信息”活动创建的常量(72057594037927936)。
-
cellId是执行实例ID。
以上两个数字相乘。 最终结果数大于Postgres bigint类型的最大值(PostgreSQL数字类型)。
这两个值将按如下方式添加到查询中:
选择 :#(1)# * :#(2)# + B0.iBatchEventId, B0.iBatchEventId, B0.iStatus, B0.iRetry, B0.tsSubmit, B0.tsScheduled, B0.tsExpiration, B0.tsCreated, B0.tsProcessing, B0.tsProcessed, B0.tsModified, B0.sType, B0.iDeliveryId iWishedChannel, B0.sExternalId, B0.sOrigin, B0.sEmail, B0.iEmailFormat, B0.sMobilePhone, B0.sRegistrationToken, B0.iMobileAppId, B0.sLine1, B0.sLine2, B0.sLine3, B0.sLine4, B0.sLine6, SLine7 B0.sCountryCode, B0.sLanguage, B0.iFolderId, B0.iCreatedById, B0.mData
从NmsBatchEvent B0
WHERE ((B0.iFolderId IN (从XtkRights xr中选择xr.iFolderId WHERE xr.iOperatorId IN (3798))或B0.iFolderId=0))
AND ((B0.iFolderId IN (从XtkRights xr中选择xr.iFolderId WHERE xr.iOperatorId IN (3798))或B0.iFolderId=0))
AND ((B0.iBatchEventId < > :#(3)#)和(B0.tsLastModified < :#(4)#))
ORDER BY truncdate(B0.tsLastModified, :#(5)#, 'Europe/London'), 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
解决方案是使用较小的数字作为执行实例ID。