L’activité Mise à jour de données échoue et les changements d’ordre des colonnes chargés dans Campaign
L’activité Mise à jour de données dans un workflow Campaign peut échouer lorsque les valeurs de colonne chargées changent de manière inattendue lors du chargement en masse. Dans ce cas, le workflow a échoué, car un petit nombre d’enregistrements contenait un caractère de contrôle spécial dans un champ, ce qui a rompu la structure de lignes CSV et déplacé les valeurs dans les mauvaises colonnes. Par conséquent, la valeur d’horodatage load_datetime a été écrite dans la colonne SISOA2 et rejetée, car trop longue. Corrigez les enregistrements sources concernés et redémarrez le workflow pour restaurer le traitement normal.
Description description
Environnement
- Adobe Campaign
- Adobe Campaign v8
Problème/Symptômes
- L’activité Mise à jour de données d’un workflow échoue lors de son exécution.
- Le workflow renvoie les erreurs suivantes :
Erreur ODBC ODB-240000 : la chaîne « 2022-05-31 08:45:23.000Z » est trop longue et serait tronquée…
Impossible d’exécuter l’instruction SQL WDB-200001 « COPY INTO wkf… ».
- La valeur
2022-05-31 08:45:23.000Zest ingérée dans la colonneSISOA2même si le mappage d’activité Mettre à jour les données n’est pas configuré de cette manière. - Les valeurs de colonne chargées apparaissent décalées lors du chargement en masse.
Cause
L’opération Snowflake COPY INTO a échoué, car 2 enregistrements sur environ 25 millions dans le jeu de données contenaient un caractère de contrôle spécial (STX / \x02) dans le champ device_use_language_code. Ce caractère était en conflit avec le délimiteur d’enregistrement CSV utilisé lors du chargement en masse, provoquait un fractionnement incorrect de la ligne et déplaçait les colonnes chargées. Par conséquent, la valeur d’horodatage load_datetime 2022-05-31 08:45:23.000Z a été chargée dans la colonne SISOA2, qui est définie comme VARCHAR(2), et le chargement a échoué, car la valeur était trop longue.
Résolution resolution
Pour résoudre ce problème, procédez comme suit :
- Identifiez les enregistrements sources qui contiennent le caractère de contrôle spécial
STX/\x02dans le champdevice_use_language_code. - Modifiez le champ
device_use_language_codepour ces deux enregistrements dans la source de données Redshift. - Redémarrez le workflow.