Condividi tramite


Eseguire la migrazione di record file flat

Panoramica

Microsoft BizTalk Server supporta delimitatori a più caratteri, anche se supporta un solo tipo di delimitatore figlio.

Tre annotazioni dello schema controllano la gestione dei delimitatori in BizTalk Server: due per l'analisi (skip_CR, skip_LF) e una per la serializzazione (append_newline). BizTalk Server interpreta queste annotazioni come indicato di seguito durante la migrazione dei record:

  • Se l'annotazione skip_CR ha un valore true e il delimitatore corrente non è ritorno a capo (0x0D), BizTalk Server aggiunge un ritorno a capo al delimitatore corrente. Se, ad esempio, il delimitatore corrente è il simbolo di barra verticale (0x7C), il delimitatore risultante è un simbolo di barra verticale seguito da un ritorno a capo (0x7C 0x0D). Se il delimitatore corrente è un ritorno a capo, rimane come un singolo ritorno a capo indipendentemente dal valore di skip_CR.

  • Se l'annotazione skip_LF ha un valore true, BizTalk Server aggiunge un carattere di avanzamento riga (0x0A) al delimitatore corrente. Si noti che nel caso precedente in cui il delimitatore corrente è il simbolo di pipe (0x7C), un delimitatore di tre caratteri (0x7C 0x0D 0x0A) se sia skip_CR che skip_LF sono true.

  • BizTalk Server ignora l'impostazione dell'annotazione append_newline.

    È vero che queste interpretazioni delle annotazioni assicurano in linea di massima la riuscita della migrazione, tuttavia in alcuni casi si verificano problemi. Ad esempio, se skip_CR e skip_LF sono entrambi true e il delimitatore corrente è il simbolo di pipe (0x7C), BizTalk Server accetta tutti gli elementi seguenti come delimitatori validi all'interno di un singolo set di record: 0x7C 0x0D 0x0A, 0x7C 0x0D, 0x7C 0x0A e 0x7C. I record che usano tali set di delimitatori non possono essere migrati e richiedono codice parser personalizzato in BizTalk Server.

    Anche se BizTalk Server ha un solo tipo di delimitatore, interpreta le annotazioni precedenti in modo che i record eseseguono facilmente la migrazione. Se uno schema di BizTalk Server contiene valori per def_record_delimdef_field_delim, def_subfield_delim e questi vengono indicati in delimiter_type come inherit_record e così via, BizTalk Server recupera il valore corrispondente e lo archivia localmente.

    Inoltre, BizTalk Server aggiunge campi per i record posizionali contrassegnati senza elementi figlio.

Vedere anche

Problemi noti della generazione e della convalida degli schemi