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


Файлы формата, отличные от XML (SQL Server)

В SQL Server 2012 для массового экспорта и импорта поддерживаются два типа файлов формата: файлы формата, отличные от XML и XML-файлы формата.

В этом разделе.

  • Преимущества

  • Структура файлов форматирования в формате, отличном от XML

  • Пример файла формата, отличного от XML

  • Связанные задачи

Преимущества использования файлов формата, отличных от XML.

  • Можно автоматически создать файл форматирования, отличный от XML, указав параметр format в командной строке bcp.

  • Если в команде bcp задан существующий файл формата, то в команде используются значения, содержащиеся в файле, поэтому пользователь не получает приглашений указать тип хранения файла, длину префикса, длину поля или признак конца поля.

  • Можно создать файл формата для определенного типа данных, например символьных данных или собственных данных.

    Можно создать файл форматирования в формате, отличном от XML, который будет содержать определяемые в интерактивном режиме атрибуты для каждого поля данных. Дополнительные сведения см. в разделе Указание форматов данных для совместимости с помощью программы bcp (SQL Server).

ПримечаниеПримечание

XML-файлы формата имеют несколько преимуществ над файлами формата, отличными от XML. Дополнительные сведения см. в разделе XML-файлы форматирования (SQL Server).

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Структура файлов форматирования в формате, отличном от XML

Файл форматирования в формате, отличном от XML — это текстовый файл, имеющий специальную структуру. Он содержит сведения о типе хранения, длине префикса, длине и признаке конца поля для каждого из столбцов таблицы.

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

Идентифицирует поля файла в формате, отличном от XML

Поля Version и Number of columns встречаются только один раз. Описание этих параметров приводится в следующей таблице.

Поле файла форматирования

Описание

Версия

Номер версии программы bcp:

9.0 = SQL Server 2005 

10.0 = SQL Server 2008

11.0 = SQL Server 2012

Номер версии распознается по программе bcp, а не по Transact-SQL.

ПримечаниеПримечание

Версия программы bcp (Bcp.exe), используемая для считывания файла формата, должна быть той же или более поздней по сравнению с программой, с помощью которой производилось создание файла формата. Например, программа bcp в SQL Server 2008 может считать файл формата версии 9.0, созданный программой bcp в SQL Server 2005, но программа bcp в SQL Server 2005 не может считать файл формата версии 10.0, созданный программой bcp в SQL Server 2008.

Число столбцов

Число полей в файле данных. Это значение должно быть одинаковым во всех строках.

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

Поле файла форматирования

Описание

Порядковый номер поля в файле данных

Число, указывающее на расположение поля в файле данных. Первое поле в строке имеет номер 1 и т. д.

Тип данных файла

Указывает тип данных, хранящихся в этом поле файла данных. Для ASCII-файлов используйте SQLCHAR; для файлов данных в собственном формате используйте типы данных по умолчанию. Дополнительные сведения см. в разделе Указание типа файлового хранилища с помощью программы bcp (SQL Server).

Длина префикса

Количество символов префикса для поля. Допустимыми значениями длины префикса являются 0, 1, 2, 4 и 8. Чтобы не указывать длину префикса, установите это значение равным 0. Если поле содержит значения данных NULL, указание длины префикса обязательно. Дополнительные сведения см. в разделе Определение длины префикса в файлах данных с помощью программы bcp (SQL Server).

Длина данных в файле

Максимальная длина (в байтах) для типа данных, содержащегося в соответствующем поле файла данных.

Если для текстового файла с разделителями создается файл форматирования в формате, отличном от XML, то для длины данных в файле каждого поля данных можно определить значение 0. Когда текстовой файл с разделителями обладает длиной префикса, равной 0, и происходит импорт признака конца поля, значение длины поля не обрабатывается, так как используемое для поля место хранилища равно сумме длины данных и признака конца поля.

Дополнительные сведения см. в разделе Указание длины поля с помощью программы bcp (SQL Server).

Признак конца

Разделитель полей в файле данных. Обычно признаком конца строки является запятая (,) или символ табуляции (\t), а строки — символы перевода строки и возврата каретки (\r\n). Дополнительные сведения см. в разделе Определение признаков конца поля и строки (SQL Server).

Порядковый номер столбца на сервере

Порядковый номер, под которым столбец находится в таблице SQL Server. Например, если четвертое поле в файле данных соответствует шестому столбцу в таблице SQL Server, порядковый номер столбца на сервере для четвертого поля равен 6.

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

Имя столбца на сервере

Имя столбца, копируемого из таблицы SQL Server. Использовать фактическое имя поля необязательно, но это поле в файле форматирования не должно быть пустым.

Параметры сортировки столбца

Параметры сортировки, используемые для хранения в файле символьных данных и данных в Юникоде.

ПримечаниеПримечание

Можно изменить файл форматирования так, чтобы обеспечить возможность массового импорта данных из файла, в котором количество или порядок полей отличаются от количества или порядка столбцов в таблице. Дополнительные сведения см. в списке Связанные задачи далее в этом разделе.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Пример файла формата, отличного от XML

В следующем примере показан ранее созданный файл форматирования (myDepartmentIdentical-f-c.fmt) в формате, отличном от XML. В этом файле описываются поля символьных данных для каждого столбца таблицы HumanResources.Department в образце таблицы AdventureWorks.

Созданный файл форматирования myDepartmentIdentical-f-c.fmt содержит следующие данные:

11.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID     ""
2       SQLCHAR       0       100     "\t"     2     Name             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName        SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate     ""
ПримечаниеПримечание

Схему, отображающую поля файла форматирования в этом образце файла форматирования, имеющем формат, отличный от XML, см. выше в разделе Структура файлов форматирования в формате, отличном от XML.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Связанные задачи

[В начало]

См. также

Справочник

Программа bcp

Основные понятия

Создание файла форматирования (SQL Server)

XML-файлы форматирования (SQL Server)

Файлы форматирования для импорта или экспорта данных (SQL Server)