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
 其中((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。

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