BCP - SQL Server Bulk Copy File Format
Hvad er en BCP fil?
BCP (Bulk Copy Format) er Microsoft SQL Servers tekniske dataformat, der definerer datastrukturer til at gemme forskellige databasedatatypeværdier til import/eksport. Formatet definerer fuldstændigt fortolkningen af hver datakolonne, så det sæt af værdier, der er angivet i datafilen, kan læses. Værktøjet BCP bruger BCP-filformatet til at læse data fra en sådan fil og identificere dem.
BCP filformat
BCP-formatfilen er et XML-dokument, der definerer kolonnerækkefølgen, navnet og datatypen. Det lader brugere importere/eksportere store mængder data fra datafil, der specificerer disse felter. Dette er nyttigt ved masseimport af dataværdier fra datafiler. Antallet og rækkefølgen af datafelter i datafilen kan være anderledes end dem i destinationstabelkolonnerne. Det er, når BCP-dataformatfilen kommer til hjælp ved at angive rækkefølgen og typen af kolonner til import af data.
Strukturen af formatfilen er repræsenteret i følgende format.
<BCPFORMAT ...>
<RECORD>
<FIELD ID = "fieldID" xsi:type = "fieldType" [...] />
</RECORD>
<ROW>
<COLUMN SOURCE = "fieldID" NAME = "columnName" xsi:type = "columnType" [...] />
</ROW>
</BCPFORMAT>
BCP-datatyper
| Datatype | Område | Repræsentation |
|---|---|---|
| BigInt | -263 (-9.223.372.036.854.775.808) til 263-1 (9.223.372.036.854.775.807) | BigInt = [-]1*19DIGIT |
| Binær | 1 til 8000 bytes | hexadecimalkodet Unicode-strengformat Binært = 32000OCTET |
| Bit | 0 eller 1 | simpel Unicode-streng Bit = 0 / 1 |
| Char | 1 til 8000 | Unicode-strengformat, Char = 16000OCTET |
| CLRUDT | VarBinær | CLRUDT = 0*nOCTET med n = 4 x (2.147.483.647) |
| Dato | 0001-01-01 til 9999-12-31 | ÅÅÅÅ-MM-DD strengformat |
| DatoTid | 1753-01-01 00:00:00.000 til 9999-12-31 23:59:59.997 | Unicode ÅÅÅÅ-MM-DD tt:mm:ss[.nnn] strengformat |
| DatoTid2 | 0001-01-01 00:00:00.0000000 til og med 9999-12-31 23:59:59.9999999. | Unicode ÅÅÅÅ-MM-DD tt:mm:ss[.nnnnnn] strengformat |
| DateTimeOffset | 0001-01-01 00:00:00.0000000 til 9999-12-31 23:59:59.9999999 i tidszonen Coordinated Universal Time (UTC) | Unicode ÅÅÅÅ-MM-DD tt:mm:ss[.nnnnnn] [{+ |
| Decimal | -1038 + 1 til 1038 – 1 | Unicode-strengformat Decimal = [-] 0*38DIGIT [.0*38DIGIT] |
| Float | -1,79E+308 til -2,23E-308; 0; fra 2.23E-308 til 1.79E+308 | Unicode-strengformat |
| Billede | sekvens af bytes, der spænder fra 0 til 231 – 1 (2.147.483.647) | hexadecimalkodet Unicode-strengformat |
| Int | -231 (-2.147.483.648) til 231 – 1 (2.147.483.647) | Unicode-strengformat |