Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Назначение необработанного файла записывает необработанные данные в файл. Так как формат данных является собственным для назначения, данные не требуют перевода и небольшого анализа. Это означает, что назначение необработанного файла может записывать данные быстрее, чем другие назначения, такие как плоский файл и назначения OLE DB.
Помимо записи необработанных данных в файл, можно также использовать назначение необработанного файла для создания пустого необработанного файла, содержащего только столбцы (файл только метаданных), не выполняя пакет. Источник необработанных файлов используется для получения необработанных данных, которые ранее были записаны по назначению. Вы также можете указать источник необработанного файла на файл, содержащий только метаданные.
Формат необработанного файла содержит сведения о сортировке. Назначение необработанного файла сохраняет все сведения о сортировке, включая флаги сравнения для строковых столбцов. Источник необработанного файла считывает и учитывает сведения о сортировке. Вы можете настроить источник необработанных файлов, чтобы игнорировать флаги сортировки в файле с помощью расширенного редактора. Дополнительные сведения о флагах сравнения см. в разделе "Сравнение строковых данных".
Назначение необработанного файла можно настроить следующим образом:
Укажите режим доступа, который является именем файла или переменной, содержащей имя файла, в который записывается место назначения Raw File.
Укажите, добавляет ли назначение необработанного файла данные к существующему файлу с тем же именем или создает новый файл.
Назначение Raw File часто используется для записи промежуточных результатов частично обработанных данных в промежутках между выполнениями пакета. Хранение необработанных данных означает, что данные можно быстро считывать источником необработанных файлов, а затем далее преобразовывать перед загрузкой в конечное место назначения. Например, пакет может выполняться несколько раз и каждый раз записывать необработанные данные в файлы. Позже другой пакет может использовать источник необработанных файлов для чтения из каждого файла, использовать преобразование Union All для слияния данных в один набор данных, а затем применить дополнительные преобразования, которые суммируют данные перед загрузкой данных в окончательное назначение, например в таблицу SQL Server.
Замечание
Назначение необработанного файла поддерживает нулевые данные, но не двоичные большие объекты (BLOB).
Замечание
Адресат необработанного файла не использует диспетчер соединений.
Этот источник имеет один обычный вход. Он не поддерживает вывод ошибок.
Параметры добавления и создания файлов
Свойство WriteOption включает параметры для добавления данных в существующий файл или создания нового файла.
В следующей таблице описываются доступные параметры свойства WriteOption.
Вариант | Описание |
---|---|
Добавить | Добавляет данные в существующий файл. Метаданные добавленных данных должны соответствовать формату файла. |
Создавать всегда | Всегда создает новый файл. |
Создать один раз | Создает новый файл. Если файл существует, компонент сбоит. |
Усечение и добавление | Усекает существующий файл, а затем записывает данные в файл. Метаданные добавленных данных должны соответствовать формату файла. |
Ниже приведены важные пункты о добавлении данных.
Добавление данных в существующий необработанный файл не выполняет повторную сортировку данных.
Необходимо убедиться, что отсортированные ключи остаются в правильном порядке.
Добавление данных в существующий необработанный файл не изменяет метаданные файла (сведения о сортировке).
Например, пакет считывает данные, отсортированные в ProductKey (PK). Поток данных пакета добавляет данные в существующий необработанный файл. При первом запуске пакета получаются три строки (PK 1000, 1100, 1200). Необработанный файл теперь содержит следующие данные.
1000, productA
1100, товарB
1200, productC
Во второй раз при запуске пакета будут получены две новые строки (PK 1001, 1300). Необработанный файл теперь содержит следующие данные.
1000, продуктA
1100, продуктB
1200, продуктC
1001, productD
1300, productE
Новые данные добавляются в конец необработанного файла, а отсортированные ключи (PK) не упорядочены. Кроме того, операция добавления не изменила метаданные файла (сведения о сортировке). Если вы считываете файл с помощью источника необработанных файлов, компонент указывает, что файл по-прежнему сортируется по PK, даже если данные в файле больше не указаны в правильном порядке.
Чтобы сохранить отсортированные ключи в правильном порядке при добавлении данных, можно разработать поток данных пакета следующим образом:
Извлеките новые строки с помощью Источника A.
Извлеките существующие строки из RawFile1 с помощью Source B.
Объедините входные данные из источника A и Source B с помощью преобразования Union All.
Сортировка по PK.
Запись в RawFile2 с помощью назначения необработанного файла.
RawFile1 заблокирован, так как он считывается из потока данных.
Замените RawFile1 на RawFile2.
Использование необработанного файла в качестве назначения в цикле
Если поток данных, использующий назначение необработанного файла, находится в цикле, может потребоваться создать файл один раз, а затем добавить данные в файл при повторе цикла. Чтобы добавить данные в файл, добавляемые данные должны соответствовать формату существующего файла.
Чтобы создать файл в первой итерации цикла, а затем добавить строки в последующие итерации цикла, необходимо выполнить следующие действия во время разработки:
Задайте для свойства WriteOption значение CreateOnce или CreateAlwaysи выполните одну итерацию цикла. Файл создается. Это гарантирует, что метаданные добавленных данных и файл совпадают.
Сбросите свойство WriteOption в Значение "Добавить " и задайте для свойства ValidateExternalMetadata значение
False
.
Если вместо параметра "Добавить" используется параметр TruncateAppend, он усечет строки, добавленные в любую предыдущую итерацию, а затем добавляет новые строки. Для использования параметра TruncateAppend также требуется, чтобы данные соответствовали формату файла.
Настройка назначения необработанного файла
Свойства могут быть заданы с помощью конструктора SSIS или программным путем.
Диалоговое окно Расширенный редактор содержит свойства, которые можно установить с помощью программных средств. Дополнительные сведения о свойствах, которые вы можете задать в диалоговом окне Расширенный редактор или программными средствами, см. в следующих разделах.
Связанные задачи
Сведения о настройке свойств компонента см. в разделе "Задание свойств компонента потока данных".
Связанные материалы
Запись блога, необработанные файлы — это потрясающе, на сайте sqlservercentral.com.