L’attività di aggiornamento dei dati non riesce e vengono caricati i cambiamenti dell’ordine delle colonne in Campaign
L’attività Update data (Aggiorna dati) in un flusso di lavoro di Campaign può non riuscire se i valori delle colonne caricate si spostano in modo imprevisto durante il caricamento in blocco. In questo caso, il flusso di lavoro non è riuscito perché un numero limitato di record conteneva un carattere di controllo speciale in un campo, che ha interrotto la struttura delle righe CSV e spostato i valori nelle colonne errate. Di conseguenza, il valore della marca temporale load_datetime è stato scritto nella colonna SISOA2 e rifiutato perché troppo lungo. Correggere i record di origine interessati e riavviare il flusso di lavoro per ripristinare la normale elaborazione.
Descrizione description
Ambiente
- Adobe Campaign
- Adobe Campaign v8
Problema/Sintomi
- L’attività Update data in un flusso di lavoro non riesce durante l’esecuzione.
- Il flusso di lavoro restituisce i seguenti errori:
Errore ODB-240000 ODBC: la stringa ‘2022-05-31 08:45:23.000Z’ è troppo lunga e verrebbe troncata…
Impossibile eseguire l’istruzione SQL ‘COPY INTO wkf…’ di WDB-200001.
- Il valore
2022-05-31 08:45:23.000Zviene acquisito nella colonnaSISOA2anche se il mapping attività Aggiorna dati non è configurato in questo modo. - I valori delle colonne caricate appaiono spostati durante il caricamento in blocco.
Causa
L’operazione Snowflake COPY INTO non è riuscita perché 2 record su circa 25 milioni nel set di dati contenevano un carattere di controllo speciale (STX / \x02) nel campo device_use_language_code. Questo carattere è in conflitto con il delimitatore di record CSV utilizzato durante il caricamento in blocco, ha causato la divisione errata della riga e lo spostamento delle colonne caricate. Di conseguenza, il valore 2022-05-31 08:45:23.000Z della marca temporale load_datetime è stato caricato nella colonna SISOA2, definita come VARCHAR(2), e il caricamento non è riuscito perché il valore era troppo lungo.
Risoluzione resolution
Per risolvere il problema, eseguire la procedura seguente:
- Identificare i record di origine che contengono il carattere di controllo speciale
STX/\x02nel campodevice_use_language_code. - Modificare il campo
device_use_language_codeper questi due record nell’origine dati Redshift. - Riavvia il flusso di lavoro.