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


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

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

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

Приглашение bcp указать тип файлового хранилища

Если интерактивная команда bcp содержит параметр in или out без параметра файла форматирования (-f) или параметра формата данных (-n, -c, -wили -N), команда запрашивает тип файлового хранилища для каждого поля данных следующим образом:

Enter the file storage type of field <field_name> [<default>]:

Ответ на такое приглашение зависит от выполняемой задачи.

  • Чтобы массово экспортировать данные из экземпляра Microsoft SQL Server в файл данных в максимально компактном хранилище (собственный формат данных), примите типы файлов по умолчанию, предоставляемые bcp. Список собственных типов файловых хранилищ см. в разделе «Собственные типы файловых хранилищ» далее в этом подразделе.

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

  • Чтобы массово импортировать данные в экземпляр SQL Server из файла данных, укажите тип хранилища файлов в виде char для типов, хранящихся в формате символов, и для данных, хранящихся в собственном формате данных, укажите один из типов хранилища файлов, как это необходимо:

    Тип файла хранилища Введите в командной строке
    char c[har]
    varchar c[har]
    nchar w
    nvarchar w
    text T[ext]
    ntext2 W
    binary x
    varbinary x
    Изображение I[mage]
    datetime d[ate]
    smalldatetime D
    time te
    date de
    datetime2 d2
    datetimeoffset do
    десятичное n
    numeric n
    float f[loat]
    real r
    Int i[nt]
    bigint B[igint]
    smallint s[mallint]
    tinyint t[inyint]
    money m[oney]
    smallmoney M
    bit b[it]
    uniqueidentifier u
    sql_variant V[ariant]
    timestamp x
    UDT (определяемый пользователем тип данных) U
    XML X

    *Взаимодействие длины поля, длины префикса и конца определяет объем места хранения, выделенного в файле данных для данных, экспортируемых как тип хранилища файлов char .

    ** Типы данных ntext, текста и изображения будут удалены в будущей версии SQL Server. Следует избегать использования этих типов данных при новой разработке и запланировать изменение приложений, использующих их в настоящий момент. Вместо них следует использовать типы данных nvarchar(max), varchar(max)и varbinary(max) .

Собственные типы файловых хранилищ

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

Тип файла хранилища Тип данных файла
char SQLCHAR
varchar SQLCHAR
nchar SQLNCHAR
nvarchar SQLNCHAR
text SQLCHAR
ntext SQLNCHAR
binary SQLBINARY
varbinary SQLBINARY
Изображение SQLBINARY
datetime SQLDATETIME
smalldatetime SQLDATETIM4
десятичное SQLDECIMAL
numeric SQLNUMERIC
float SQLFLT8
real SQLFLT4
int SQLINT
bigint SQLBIGINT
smallint SQLSMALLINT
tinyint SQLTINYINT
money SQLMONEY
smallmoney SQLMONEY4
bit SQLBIT
uniqueidentifier SQLUNIQUEID
sql_variant SQLVARIANT
timestamp SQLBINARY
UDT (определяемый пользователем тип данных) SQLUDT

*Файлы данных, хранящиеся в символьном формате, используют char в качестве типа хранилища файлов. Таким образом, для символьных файлов данных SQLCHAR — это единственный тип данных, допустимый в файле форматирования.

**Невозможно массово импортировать данные в текстовые, ntext и столбцы изображений , имеющие значения DEFAULT.

Дополнительные замечания относительно типов файловых хранилищ

При массовом экспорте данных из экземпляра SQL Server в файл данных:

  • можно указать в качестве типа файлового хранилища char ;

  • если указан тип файлового хранилища, представляющий недопустимое неявное преобразование, то работа bcp завершится ошибкой. Например, хотя можно указать int для данных smallint , если задать smallint для данных int , итогом станет ошибка переполнения;

  • Если нехарактерные типы данных, такие как float, money, datetime или int, хранятся в качестве типов баз данных, данные записываются в файл данных в собственном формате SQL Server.

    Примечание.

    После интерактивного заполнения всех полей в команде bcp появится запрос на сохранение введенных ответов для каждого поля в файле форматирования в формате, отличном от XML. Дополнительные сведения о файлах форматирования, отличных от XML, см. в разделе "Файлы форматирования не XML" (SQL Server).

См. также

bcp Utility
Типы данных (Transact-SQL)
Указание длины поля с помощью bcp (SQL Server)
Определение признаков конца поля и строки (SQL Server)
Указание длины префикса в файлах данных с помощью bcp (SQL Server)