Бөлісу құралы:


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

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

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

Команда SQL Serverbcp . Понимание этих данных может быть полезным при массовом экспорте данных SQL Server для массового импорта в другую программу, например другую программу базы данных. Стандартные форматы данных в исходной таблице (native, character или Unicode) могут быть несовместимы с форматом данных, ожидаемым другой программой. Если несовместимость существует, когда вы экспортируете данные, необходимо описать формат данных.

Примечание.

Если вы не знакомы с форматами данных для импорта или экспорта данных, ознакомьтесь с форматами данных для массового импорта или массового экспорта (SQL Server).

Атрибуты формата данных в инструкции bcp

Команда bcp позволяет указать структуру каждого поля в файле данных в виде указанных ниже атрибутов формата данных.

  • Тип файла хранилища

    Тип файла хранилища описывает, каким образом данные хранятся в файле данных. Данные можно экспортировать в файл данных как тип таблицы базы данных (собственный формат), в его символьном представлении (символьном формате) или как любой тип данных, в котором поддерживается неявное преобразование; например, копирование небольшого объекта в виде int. Определяемые пользователем типы данных экспортируются в качестве базовых типов. Дополнительные сведения см. в разделе "Указание типа хранилища файлов с помощью bcp (SQL Server)".

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

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

  • Длина поля

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

  • Признак конца поля

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

Обзор приглашений, относящихся к полям

Если интерактивная команда bcp содержит параметр in или out , но не содержит одновременно параметр формата файла (-f) или параметр формата данных (-n, -c, -wили -N), для каждого столбца в исходной или целевой таблице команда предлагает по очереди ввести указанные атрибуты. В каждой строке команда bcp предоставляет значение по умолчанию на основе типа данных SQL Server столбца таблицы. Принятие значений по умолчанию для всех приглашений эквивалентно указанию собственного формата (-n) в командной строке. В каждом приглашении значение по умолчанию выводится в квадратных скобках: [значение по умолчанию]. Чтобы согласиться с указанным значением по умолчанию, нажмите клавишу ВВОД. Чтобы указать другое значение, введите его в приглашении.

Пример

В следующем примере команда bcp используется для массового интерактивного экспорта данных из таблицы HumanResources.myTeam в файл myTeam.txt . Перед выполнением примера следует создать эту таблицу. Сведения о таблице и ее создании см. в разделе HumanResources.myTeam Sample Table (SQL Server).

Команда не указывает ни файл форматирования, ни тип данных, поэтому программа bcp запрашивает сведения о формате данных. В командной строке Microsoft Windows введите:

bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T

Для каждого столбца программа bcp запрашивает значения, относящиеся к полю. В следующем примере показаны относящиеся к полям приглашения для столбцов таблицы EmployeeID и Name , и для каждого столбца предлагается тип хранения файла по умолчанию (собственный формат). Длины префиксов столбцов EmployeeID и Name равны 0 и 2 соответственно. Пользователь указывает запятую (,) в качестве признака конца поля.

Enter the file storage type of field EmployeeID [smallint]:

Enter prefix-length of field EmployeeID [0]:

Enter field terminator [none]:,

Enter the file storage type of field Name [nvarchar]:

Enter prefix length of field Name [2]:

Enter field terminator [none]:,

.

.

.

Аналогичные приглашения (при необходимости) последовательно выводятся для каждого столбца таблицы.

Хранение данных по полю в файле форматирования, отличном от XML

После указания всех столбцов таблицы команда bcp предлагает сформировать файл форматирования в формате, отличном от XML, в который будут записаны предоставленные сведения о полях данных (см. предыдущий пример). Если вы решили создать файл форматирования, вы можете экспортировать данные из этой таблицы или импортировать подобные структурированные данные в SQL Server.

Примечание.

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

В следующем примере создается файл форматирования в формате, myFormatFile.fmtотличном от XML:

Do you want to save this format information in a file? [Y/n] y

Host filename: [bcp.fmt]myFormatFile.fmt

Имя по умолчанию для файла форматирования — bcp.fmt, но можно указать и другое имя файла.

Примечание.

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

Нет.

Следующие шаги