Файлы формата, отличные от 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.
Поля Version и Number of columns встречаются только один раз. Описание этих параметров приводится в следующей таблице.
Поле файла форматирования |
Описание |
||
---|---|---|---|
Версия |
Номер версии программы bcp: 9.0 = SQL Server 2005 10.0 = SQL Server 2008 11.0 = SQL Server 2012 Номер версии распознается по программе bcp, а не по Transact-SQL.
|
||
Число столбцов |
Число полей в файле данных. Это значение должно быть одинаковым во всех строках. |
Другие поля файла форматирования описывают поля данных, массовый импорт и экспорт которых должен быть произведен. Для каждого поля данных необходима отдельная строка файла форматирования. Каждая строка файла форматирования содержит значения полей файла форматирования, описание которых находится в следующей таблице.
Поле файла форматирования |
Описание |
---|---|
Порядковый номер поля в файле данных |
Число, указывающее на расположение поля в файле данных. Первое поле в строке имеет номер 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. |
[В начало]
Связанные задачи
Использование файла форматирования для массового импорта данных (SQL Server)
Пропуск столбца таблицы с помощью файла форматирования (SQL Server)
Использование файла форматирования для пропуска поля данных (SQL Server)
[В начало]
См. также
Справочник
Основные понятия
Создание файла форматирования (SQL Server)
XML-файлы форматирования (SQL Server)
Файлы форматирования для импорта или экспорта данных (SQL Server)