Що таке файл BCP?
BCP (Bulk Copy Format) — це формат технічних даних Microsoft SQL Server, який визначає структури даних для зберігання різних значень типів даних бази даних для імпорту/експорту. Формат повністю визначає інтерпретацію кожного стовпця даних, щоб можна було прочитати набір значень, указаних у файлі даних. Утиліта BCP використовує формат файлу BCP для читання дані з такого файлу та ідентифікуйте його.
Формат файлу BCP
Файл у форматі BCP – це XML-документ, який визначає порядок стовпців, назву та тип даних. Це дозволяє користувачам імпортувати/експортувати великі обсяги даних із файлу даних із зазначенням цих полів. Це корисно під час масового імпорту значень даних із файлів даних. Кількість і порядок полів даних у файлі даних можуть відрізнятися від полів у цільових стовпцях таблиці. Саме тоді на допомогу приходить файл формату даних BCP, який визначає порядок і тип стовпців для імпорту даних.
Структура файлу формату представлена в наступному форматі.
<BCPFORMAT ...>
<RECORD>
<FIELD ID = "fieldID" xsi:type = "fieldType" [...] />
</RECORD>
<ROW>
<COLUMN SOURCE = "fieldID" NAME = "columnName" xsi:type = "columnType" [...] />
</ROW>
</BCPFORMAT>
Типи даних BCP
Тип даних | Діапазон | Подання |
---|---|---|
BigInt | -263 (-9,223,372,036,854,775,808) до 263-1 (9,223,372,036,854,775,807) | BigInt = ["-"]1*19DIGIT |
Двійковий | від 1 до 8000 байт | формат рядка Юнікод із шістнадцятковим кодуванням Двійковий = 32000OCTET |
Біт | 0 або 1 | простий рядок Unicode Біт = “0” / “1” |
Char | від 1 до 8000 | Формат рядка Unicode, Char = 16000OCTET |
CLRUDT | VarBinary | CLRUDT = 0*nOCTET з n = 4 x (2 147 483 647) |
Дата | 0001-01-01 до 9999-12-31 | Формат рядка РРРР-ММ-ДД |
ДатаЧас | 1753-01-01 00:00:00.000 до 9999-12-31 23:59:59.997 | Юнікод РРРР-ММ-ДД гг:хх:сс[.nnn] формат рядка |
ДатаЧас2 | 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999. | Юнікод РРРР-ММ-ДД гг:хх:сс[.nnnnnn] формат рядка |
DateTimeOffset | 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999 у часовому поясі Всесвітнього координованого часу (UTC) | Юнікод РРРР-ММ-ДД гг:хм:сс[.nnnnnn] [{+ |
Decimal | -1038 + 1 до 1038 – 1 | Формат рядка Unicode Decimal = ["-"] 0*38DIGIT ["."0*38DIGIT] |
Float | -1,79E+308 до -2,23E-308; 0; від 2.23E-308 до 1.79E+308 | Рядковий формат Unicode |
Зображення | послідовність байтів у діапазоні від 0 до 231 – 1 (2 147 483 647) | формат рядка Юнікоду в шістнадцятковому кодуванні |
Int | -231 (-2,147,483,648) до 231 – 1 (2,147,483,647) | Формат рядка Unicode |