Указание типа файлового хранилища с помощью программы 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)