Невозможно прочитать файл CSV с двойными кавычками в значении ячейки

Я пытаюсь прочитать файл CSV с такими строками:

"Текст";"Другой текст";"Текст с" "цитатами" ""

В моем соединении с плоским файлом я заполнил квалификатор Text как ". Когда я нажимаю на кнопку Preview, строки отображаются правильно: текст с" "кавычками"" (разве он не должен показывать только одну двойную кавычку между прочим?)

Но как только я пытаюсь выполнить пакет, возникает ошибка, говорящая о том, что разделитель столбцов не может быть найден:

[Source du fichier plat [1313]] Erreur *: "* Колонна для колонн " COL3 "- непостижима.

Если я удаляю эти двойные двойные кавычки внутри значения ячейки, это работает нормально.

Есть ли способ заставить SSIS читать эти ячейки с двойными кавычками?

Для тех же данных, вы можете увидеть, как 2008 против 2012 будет предварительный просмотр данных. Заметьте, что Col2 либо делает, либо не избегает двойных кавычек (текст с "кавычками" против текста с "" кавычками "")

В результате использования версии 2008 года произойдет сбой со следующими сообщениями об ошибках

Разделитель столбца для столбца "Col2" не найден.

Произошла ошибка при обработке файла "c:\ssisdata\so\input\so_36033443.txt" в строке данных 1.

Воспроизведение проблемы с использованием Biml следует

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
  <Connections>
    <FlatFileConnection
      FilePath="c:\ssisdata\so\input\so_36033443.txt"
      FileFormat="FFF_36033443"
      Name="FFSRC" />
  </Connections>
  <FileFormats>
    <FlatFileFormat 
      Name="FFF_36033443"
      IsUnicode="false"
      HeaderRowDelimiter=";"
      CodePage="1252"
      TextQualifer="&quot;"
      >
      <Columns>
        <Column Name="Col0" DataType="AnsiString" Length="10" Delimiter=";"  CodePage="1252"/>
        <Column Name="Col1" DataType="AnsiString" Length="20" Delimiter=";"  CodePage="1252"/>
        <Column Name="Col2" DataType="AnsiString" Length="20" Delimiter="CRLF"  CodePage="1252"/>
      </Columns>
    </FlatFileFormat>
  </FileFormats>
  <Packages>
    <Package Name="so_36033443">
      <Tasks>
        <Dataflow Name="DFT Demo Delimiter">
          <Transformations>
            <FlatFileSource 
              ConnectionName="FFSRC" 
              Name="FFSRC so_36033443" />
            <DerivedColumns Name="DER Placeholder" />
          </Transformations>
        </Dataflow>
      </Tasks>
    </Package>
  </Packages>
</Biml>

0 ответов

Другие вопросы по тегам