Partager via


Migrer des enregistrements de fichiers plats

Vue d’ensemble

Microsoft BizTalk Server prend en charge les délimiteurs à plusieurs caractères, bien qu’il ne prenne en charge qu’un seul type de délimiteur : le délimiteur enfant.

Trois annotations de schéma contrôlent la gestion des délimiteurs dans BizTalk Server : deux pour l’analyse (skip_CR, skip_LF) et une pour la sérialisation (append_newline). BizTalk Server interprète ces annotations comme suit lors de la migration d’enregistrements :

  • Si l’annotation skip_CR a la valeur true et que le délimiteur actuel n’est pas un retour chariot (0x0D), BizTalk Server ajoute un retour chariot au délimiteur actuel. Par exemple, si le délimiteur actuel était la barre verticale (0x7C), le délimiteur résultant serait une barre verticale suivie d'un retour chariot (0x7C 0x0D). Si le délimiteur actuel est un retour chariot, il reste sous forme de retour chariot unique, quelle que soit la valeur de skip_CR.

  • Si l’annotation skip_LF a la valeur true, BizTalk Server ajoute un caractère de flux de ligne (0x0A) au délimiteur actuel. Notez que dans le cas précédent où le délimiteur actuel est le symbole de canal (0x7C), un délimiteur à trois caractères se produit (0x7C 0x0D 0x0A) si skip_CR et skip_LF sont true.

  • BizTalk Server ignore le paramètre de l’annotation append_newline.

    Ces interprétations des annotations garantissent une migration sans difficulté la plupart du temps. Par exemple, si skip_CR et skip_LF ont la valeur true et que le délimiteur actuel est le symbole de canal (0x7C), BizTalk Server accepte tous les éléments suivants comme délimiteurs valides au sein d’un même jeu d’enregistrements : 0x7C 0x0D 0x0A, 0x7C 0x0D, 0x7C 0x0A et 0x7C. Les enregistrements utilisant ces jeux de délimiteurs ne peuvent pas être migrés et nécessitent un code d’analyseur personnalisé dans BizTalk Server.

    Bien que BizTalk Server n’ait qu’un seul type de délimiteur, il interprète les anciennes annotations afin que les enregistrements migrent facilement. Si un schéma de BizTalk Server a des valeurs pour def_record_delimdef_field_delim, def_subfield_delim et qu’elles sont référencées dans delimiter_type en tant que inherit_record, et ainsi de suite, BizTalk Server récupère la valeur correspondante et la stocke localement.

    En outre, BizTalk Server ajoute des champs pour les enregistrements positionnels marqués sans enfants.

Voir aussi

Problèmes connus de génération et de validation de schéma