Compartir a través de


Migración de registros de archivos planos

Información general

Microsoft BizTalk Server admite delimitadores de varios caracteres, aunque solo admite un tipo de delimitador: delimitador secundario.

Tres anotaciones de esquema controlan el control del delimitador en BizTalk Server: dos para el análisis (skip_CR, skip_LF) y otro para serializar (append_newline). BizTalk Server interpreta estas anotaciones de la siguiente manera al migrar registros:

  • Si la anotación skip_CR tiene un valor true y el delimitador actual no devuelve carro (0x0D), BizTalk Server agrega un retorno de carro al delimitador actual. Por ejemplo, si el delimitador actual fuese el símbolo de canalización (0x7C), el delimitador resultante sería un símbolo de canalización seguido de un retorno de carro (0x7C 0x0D). Si el delimitador actual es retorno de carro, permanece como retorno de carro único independientemente del valor de skip_CR.

  • Si la anotación skip_LF tiene un valor true, BizTalk Server agrega un carácter de salto de línea (0x0A) al delimitador actual. Tenga en cuenta que, en el caso anterior, donde el delimitador actual es el símbolo de canalización (0x7C), se produce un resultado de delimitador de tres caracteres (0x7C 0x0D 0x0A) si ambos skip_CR y skip_LF son true.

  • BizTalk Server omite la configuración de la anotación append_newline.

    Mientras que estas interpretaciones de las anotaciones garantizan una migración sin problemas en la mayoría de casos, hay algunos casos en los que se producen errores. Por ejemplo, si skip_CR y skip_LF son true y el delimitador actual es el símbolo de canalización (0x7C), BizTalk Server acepta todos los siguientes delimitadores válidos dentro de un único conjunto de registros: 0x7C 0x0D 0x0A, 0x7C 0x0D, 0x7C 0x0A y 0x7C. Los registros que usan estos conjuntos de delimitadores no se pueden migrar y requieren código de analizador personalizado en BizTalk Server.

    Aunque BizTalk Server solo tiene un tipo de delimitador, interpreta las anotaciones antiguas para que los registros se migren fácilmente. Si un esquema de BizTalk Server tiene valores para def_record_delimdef_field_delim, def_subfield_delim y se hace referencia a ellos en delimiter_type como inherit_record, etc., BizTalk Server recupera el valor correspondiente y lo almacena localmente.

    Además, BizTalk Server agrega campos para registros posicionales etiquetados sin elementos secundarios.

Consulte también

Problemas conocidos relacionados con la generación y validación de esquemas