Поделиться через


назначение «Необработанный файл»

Назначение «Необработанный файл» записывает необработанные данные в файл. Так как формат данных является собственным для назначения, данные не требуют перевода и нуждаются лишь в небольшом анализе. Это значит, что назначение «Необработанный файл» может записывать данные быстрее, чем другие назначения, такие как «Неструктурированный файл» или «OLE DB».

Помимо записи необработанных данных в файл, можно также использовать назначение «Необработанный файл» для создания пустого необработанного файла, содержащего только столбцы (файла только с метаданными), без необходимости запуска пакета. Источник «Необработанный файл» используется для извлечения необработанных данных, записанных ранее одноименным назначением. Также в качестве источника «Необработанный файл» вы можете указать файл, который содержит только метаданные.

В формате необработанного файла содержатся сведения о сортировке. Назначение «Необработанный файл» сохраняет все сведения о сортировке, включая флаги сравнения для строковых столбцов. Источник «Необработанный файл» считывает и учитывает сведения о сортировке. С помощью расширенного редактора можно настроить источник «Необработанный файл» так, что флаги сортировки в файле не будут учитываться. Дополнительные сведения о флагах сравнения см. в разделе Comparing String Data.

Можно настроить назначение «Необработанный файл» следующим образом.

  • Задайте режим доступа, являющийся либо именем файла, либо переменной, содержащей имя файла, в который записывает данные назначение «Необработанный файл».

  • Укажите, будет ли назначение «Необработанный файл» дозаписывать данные в существующий файл с таким именем или создавать новый файл.

Назначение «Необработанный файл» часто используется для записи промежуточных результатов частичной обработки данных между запусками пакетов. Хранение необработанных данных означает, что данные можно быстро считать с использованием источника «Необработанный файл», а затем преобразовать перед загрузкой в окончательное назначение. Например, пакет может запускаться несколько раз, каждый раз записывая в файлы необработанные данные. Позднее другой пакет сможет использовать источник "Необработанный файл" для считывания данных из каждого файла, затем с помощью преобразования "Объединить все" собрать все данные в один набор, а затем применить дополнительные преобразования для финальной обработки данных перед загрузкой в целевое назначение, например в таблицу SQL Server.

Примечание

Назначение «Необработанный файл» поддерживает данные типа NULL, но не поддерживает данные типа BLOB.

Примечание

Назначение «Необработанный файл» не использует диспетчер соединений.

Этот источник имеет один стандартный вход. Вывод ошибок не поддерживается.

Параметры Append и New File

Свойство WriteOption включает возможности дозаписи данных в существующий файл или создания нового файла.

В следующей таблице описаны доступные значения свойства WriteOption.

Параметр Описание
Добавление Дозаписывает данные в существующий файл. Метаданные присоединенных данных должны соответствовать формату файла.
Create always Всегда создает новый файл.
Create once Создает новый файл. Если файл существует, то работа компонента завершается аварийно.
Truncate and append Усекает существующий файл и затем записывает данные. Метаданные присоединенных данных должны соответствовать формату файла.

Ниже приведены важные вопросы о добавлении данных.

  • Добавление данных в существующий необработанный файл не приводит к повторной сортировке данных.

    Необходимо убедиться, что ключи сортировки остаются в правильном порядке.

  • Добавление данных в существующий необработанный файл не меняет метаданные этого файла (сведения о сортировке).

Например, пакет считывает данные, отсортированные по ключу продукта (ProductKey, PK). Пакетный поток данных добавляет данные в существующий необработанный файл. При первом запуске пакета будут получены три строки (PK 1000, 1100, 1200). Теперь необработанный файл содержит следующие данные.

  • 1000, productA

  • 1100, productB

  • 1200, productC

При втором запуске пакета будут получены две новые строки (PK 1001, 1300). Теперь необработанный файл содержит следующие данные.

  • 1000, productA

  • 1100, productB

  • 1200, productC

  • 1001, productD

  • 1300, productE

Новые данные добавляются в конец необработанного файла, и порядок сортируемых ключей (PK) нарушается. Кроме того, операция добавления не меняет метаданные файла (сведения о сортировке). Если файл был считан с использованием источника «Необработанный файл», компонент указывает, что файл все еще сортируется по PK, даже несмотря на то, что данные в файле больше не следуют в правильном порядке.

Чтобы сохранить сортируемые ключи в правильном порядке после добавления данных, можно разработать пакетный поток данных следующим образом:

  1. Извлечение новых строк с использованием источника A.

  2. Извлечение существующих строк из файла RawFile1 с помощью источника B.

  3. Объединение входных данных из источников A и B с помощью преобразования «Объединить все».

  4. Сортировка по PK.

  5. Запись в файл RawFile2 с использованием назначения «Необработанный файл».

    Файл RawFile1 заблокирован, поскольку из него выполняется чтение в потоке данных.

  6. Замените RawFile1 на RawFile2.

Использование назначения «Необработанный файл» в цикле

Если поток данных, использующий назначение «Необработанный файл», является циклом, файл создается один раз, а затем данные дозаписываются в файл по мере повторения цикла. Чтобы добавить данные в файл, формат этих данных должен соответствовать формату существующего файла.

Чтобы создать файл в первой итерации цикла, а затем в последующих итерациях цикла добавлять в него строки, в процессе разработки необходимо выполнить следующие действия.

  1. Установите для свойства WriteOption значение CreateOnce или CreateAlwaysи запустите одну итерацию цикла. Файл будет создан. Это будет гарантией того, что добавляемые метаданные и файл будут соответствовать друг другу.

  2. Задайте для свойства WriteOption значение Append и задайте для свойства ValidateExternalMetadata значение False.

Если используется параметр TruncateAppend вместо параметра Append , то строки, которые были добавлены в любой предыдущей итерации, будут усечены, и только затем будет добавлена новая строка. Использование параметра TruncateAppend также требует, чтобы данные соответствовали формату файла.

Настройка назначения «Необработанный файл»

Значения свойств можно задавать с помощью конструктора Integration Services или программными средствами.

Диалоговое окно Расширенный редактор содержит свойства, которые можно установить с помощью программных средств. Дополнительные сведения о свойствах, которые вы можете задать в диалоговом окне Расширенный редактор или программными средствами, см. в следующих разделах.

Дополнительные сведения о настройке свойств компонента см. в разделе Установление свойств компонента потока данных.

Запись в блоге Необработанные файлы ― это здоровона сайте sqlservercentral.com.

См. также

Источник «Необработанный файл»
Поток данных