2016-06-16 1 views
0

Существует необходимость импортировать файл «Ragged Right» flate с Biztalk в некоторые места назначения, такие как база данных SQL и веб-сервис CRM.Возможно ли установить компонент «Плоский файл источника» в Biztalk для чтения файлов «Ragged Right»?

Файл находится из следующего формата

Column1(10characters)Column2(13characters)Column3(17Chars.)Column4(till Row deliminator CRLF) 

Где я могу установить это в Biztalk в плоский файл мастера схемы, что последний столбец не имеет фиксированную ширину?

Я знаю, что он будет работать в SSIS, но это не вариант. Теперь нам нужно сделать это с Biztalk2010

+0

Есть ли максимальная возможная ширина этого последнего столбца? –

+1

Можете ли вы разместить реальный образец (с минимальным количеством строк)? –

ответ

3

Вот лучший ответ

Из блога Early Termination with Position Flat Files

Чтобы сделать BizTalk распознать ранний терминатор вам нужно, чтобы открыть схему в текстовом редакторе и добавьте allow_early_termination = «истинный» к хзу: аннотация узел , Это свойство не отображается в редакторе BizTalk XSD.

Эта статья, вероятно, касалась BizTalk 2004, но она по-прежнему работает в BizTalk 2013 R2. Поэтому просто щелкните правой кнопкой мыши по вашей схеме, выберите «Открыть с» и выберите редактор XML (текст) и внесите изменения, как указано выше.

Update: Только что проверил в Visual Studio 2013, и эти свойства теперь доступны в схеме Свойства

enter image description here

+0

спасибо Dijkgraaf за ответы. Мы попробовали оба, и они оба работают, но этот легче применять. – superschaf

+0

Да, и никаких побочных эффектов, в отличие от моего первого ответа.Я действительно думал, что эта функция существует, но не могла увидеть ее в редакторе XSD, но когда я искал с правильными ключевыми словами (плоский файл BizTalk допускал досрочное расторжение), этот блог пришел, чтобы напомнить мне, где это сделать. – Dijkgraaf

2

Один из способов решения проблемы.

Учитывая пример файла, как

Column1 Column2  Column3   Column4    {CR}{LF} 
123456789{CR}{LF} 
Test1A Test1B  Test1C   Test1D{CR}{LF} 
Test2A Test2B  Test2C   Testing2D{CR}{LF} 

Установите последнюю колонку позиционной Длина 1 и Макс Встречается неограниченных впоследствии путем редактирования схемы.

Ваш вывод XML будет выглядеть следующим образом. Затем вы можете повторно собрать последний столбец с помощью карты с использованием кумулятивного функционала с параметром области действия, установленным в 1. Примечание: Однако он не сохраняет пробел, что может быть проблемой, которая должна быть устранена.

XML Output

<Ragged xmlns="http://Scratch.Ragged"> 
    <Ragged_Child1 xmlns=""> 
     <Column1>Column1</Column1> 
     <Column2>Column2</Column2> 
     <Column3>Column3</Column3> 
     <Column4>C</Column4> 
     <Column4>o</Column4> 
     <Column4>l</Column4> 
     <Column4>u</Column4> 
     <Column4>m</Column4> 
     <Column4>n</Column4> 
     <Column4>4</Column4> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
     <Column4/> 
    </Ragged_Child1> 
    <Ragged_Child1 xmlns=""> 
     <Column1>1234567890</Column1> 
     <Column2>1234567890123</Column2> 
     <Column3>123456789</Column3> 
     <Column4>1</Column4> 
     <Column4>2</Column4> 
     <Column4>3</Column4> 
     <Column4>4</Column4> 
     <Column4>5</Column4> 
     <Column4>6</Column4> 
     <Column4>7</Column4> 
     <Column4>8</Column4> 
     <Column4>9</Column4> 
     <Column4>0</Column4> 
     <Column4>1</Column4> 
     <Column4>2</Column4> 
     <Column4>3</Column4> 
     <Column4>4</Column4> 
     <Column4>5</Column4> 
     <Column4>6</Column4> 
     <Column4>7</Column4> 
     <Column4>8</Column4> 
     <Column4>9</Column4> 
     <Column4>0</Column4> 
    </Ragged_Child1> 
    <Ragged_Child1 xmlns=""> 
     <Column1>Test1A</Column1> 
     <Column2>Test1B</Column2> 
     <Column3>Test1C</Column3> 
     <Column4>T</Column4> 
     <Column4>e</Column4> 
     <Column4>s</Column4> 
     <Column4>t</Column4> 
     <Column4>1</Column4> 
     <Column4>D</Column4> 
    </Ragged_Child1> 
    <Ragged_Child1 xmlns=""> 
     <Column1>Test2A</Column1> 
     <Column2>Test2B</Column2> 
     <Column3>Test2C</Column3> 
     <Column4>T</Column4> 
     <Column4>e</Column4> 
     <Column4>s</Column4> 
     <Column4>t</Column4> 
     <Column4>i</Column4> 
     <Column4>n</Column4> 
     <Column4>g</Column4> 
     <Column4>2</Column4> 
     <Column4>D</Column4> 
    </Ragged_Child1> 
</Ragged> 

Карта

Map

Карта Выходной

<ns0:Ragged xmlns:ns0="http://Scratch.Ragged"> 
    <Ragged_Child1> 
     <Column1>Column1</Column1> 
     <Column2>Column2</Column2> 
     <Column3>Column3</Column3> 
     <Column4>Column4</Column4> 
    </Ragged_Child1> 
    <Ragged_Child1> 
     <Column1>1234567890</Column1> 
     <Column2>1234567890123</Column2> 
     <Column3>123456789</Column3> 
     <Column4>123456789</Column4> 
    </Ragged_Child1> 
    <Ragged_Child1> 
     <Column1>Test1A</Column1> 
     <Column2>Test1B</Column2> 
     <Column3>Test1C</Column3> 
     <Column4>Test1D</Column4> 
    </Ragged_Child1> 
    <Ragged_Child1> 
     <Column1>Test2A</Column1> 
     <Column2>Test2B</Column2> 
     <Column3>Test2C</Column3> 
     <Column4>Testing2D</Column4> 
    </Ragged_Child1> 
</ns0:Ragged> 
Смежные вопросы