Jason
Fomat File
 When you bulk import data into a table or
bulk export data from a table, you can use
a format file to store all the format
information that is required to bulk export or
bulk import data.
When Is a Format File
Required?
 The same data file is used as a source for
multiple tables that have different schemas.
 The column order is different for the data file
and table.
 The data file has a different number of fields
that the target table has columns
Process
Source
DB
Format
File
TempData
.dat
TempD
ata.dat
Format
File
Target
DB
Types of format files
Supports two types of format files:
 XML formats
 non-XML format
Create Fomat File
 Non-Xml
bcp table_or_view format nul - f
format_file_name
 Xml
bcp table_or_view format nul - f
format_file_name -x
Non-XML format files
XML format files
<BCPFORMAT ...>
<RECORD>
<FIELD ID = "fieldID" xsi:type = "fieldType" [...]
/>
</RECORD>
<ROW>
<COLUMN SOURCE = "fieldID" NAME = "columnName" xsi:type =
"columnType" [...]
/>
</ROW>
</BCPFORMAT>
XML format <FIELD>
<FIELD
ID ="fieldID"
xsi:type ="fieldType"
[ LENGTH ="n" ]
[ PREFIX_LENGTH ="p" ]
[ MAX_LENGTH ="m" ]
[ COLLATION ="collationName" ]
[ TERMINATOR ="terminator" ]
/>
XML format <COLUMN>
<COLUMN
SOURCE = "fieldID"
NAME = "columnName"
xsi:type = "columnType"
[ LENGTH = "n" ]
[ PRECISION = "n" ]
[ SCALE = "value" ]
[ NULLABLE = { "YES“ ,"NO" } ]
/>
Xsi:type values of the
<FIELD>
<FIELD> xsi:type values
Required XML Attribute(s)
for Data Type
Optional XML Attribute(s)
for Data Type
NativeFixed LENGTH None.
NativePrefix PREFIX_LENGTH MAX_LENGTH
CharFixed LENGTH COLLATION
NCharFixed LENGTH COLLATION
CharPrefix PREFIX_LENGTH MAX_LENGTH, COLLATION
NCharPrefix PREFIX_LENGTH MAX_LENGTH, COLLATION
CharTerm TERMINATOR MAX_LENGTH, COLLATION
NCharTerm TERMINATOR MAX_LENGTH, COLLATION
Xsi:type values of the
<COLUMN>
Type Category <COLUMN> Data Types
Required XML Attribute(s)
for Data Type
Optional XML Attribute(s)
for Data Type
Fixed SQLBIT, SQLTINYINT, SQLSMAL
LINT, SQLINT, SQLBIGINT, SQLF
LT4, SQLFLT8, SQLDATETIME, S
QLDATETIM4,SQLDATETIM8, SQ
LMONEY, SQLMONEY4, SQLVAR
IANT, and SQLUNIQUEID
None. NULLABLE
Variable Number SQLDECIMAL and SQLNUMERIC None. NULLABLE, PRECISION,
SCALE
LOB SQLIMAGE, CharLOB, SQLTEXT,
and SQLUDT
None. NULLABLE
Character LOB SQLNTEXT None. NULLABLE
Binary string SQLBINARY and SQLVARYBIN None. NULLABLE, LENGTH
Character string SQLCHAR, SQLVARYCHAR, SQL
NCHAR, and SQLNVARCHAR
None. NULLABLE, LENGTH
Reference
 Non-XML Format Files
 http://technet.microsoft.com/en-us/library/ms191479.aspx
 XML Format Files
 http://technet.microsoft.com/en-us/library/ms187833.aspx
 Create a Format File
 http://technet.microsoft.com/en-us/library/ms191516.aspx

Bcp

  • 1.
  • 2.
    Fomat File  Whenyou bulk import data into a table or bulk export data from a table, you can use a format file to store all the format information that is required to bulk export or bulk import data.
  • 3.
    When Is aFormat File Required?  The same data file is used as a source for multiple tables that have different schemas.  The column order is different for the data file and table.  The data file has a different number of fields that the target table has columns
  • 4.
  • 5.
    Types of formatfiles Supports two types of format files:  XML formats  non-XML format
  • 6.
    Create Fomat File Non-Xml bcp table_or_view format nul - f format_file_name  Xml bcp table_or_view format nul - f format_file_name -x
  • 7.
  • 8.
    XML format files <BCPFORMAT...> <RECORD> <FIELD ID = "fieldID" xsi:type = "fieldType" [...] /> </RECORD> <ROW> <COLUMN SOURCE = "fieldID" NAME = "columnName" xsi:type = "columnType" [...] /> </ROW> </BCPFORMAT>
  • 9.
    XML format <FIELD> <FIELD ID="fieldID" xsi:type ="fieldType" [ LENGTH ="n" ] [ PREFIX_LENGTH ="p" ] [ MAX_LENGTH ="m" ] [ COLLATION ="collationName" ] [ TERMINATOR ="terminator" ] />
  • 10.
    XML format <COLUMN> <COLUMN SOURCE= "fieldID" NAME = "columnName" xsi:type = "columnType" [ LENGTH = "n" ] [ PRECISION = "n" ] [ SCALE = "value" ] [ NULLABLE = { "YES“ ,"NO" } ] />
  • 11.
    Xsi:type values ofthe <FIELD> <FIELD> xsi:type values Required XML Attribute(s) for Data Type Optional XML Attribute(s) for Data Type NativeFixed LENGTH None. NativePrefix PREFIX_LENGTH MAX_LENGTH CharFixed LENGTH COLLATION NCharFixed LENGTH COLLATION CharPrefix PREFIX_LENGTH MAX_LENGTH, COLLATION NCharPrefix PREFIX_LENGTH MAX_LENGTH, COLLATION CharTerm TERMINATOR MAX_LENGTH, COLLATION NCharTerm TERMINATOR MAX_LENGTH, COLLATION
  • 12.
    Xsi:type values ofthe <COLUMN> Type Category <COLUMN> Data Types Required XML Attribute(s) for Data Type Optional XML Attribute(s) for Data Type Fixed SQLBIT, SQLTINYINT, SQLSMAL LINT, SQLINT, SQLBIGINT, SQLF LT4, SQLFLT8, SQLDATETIME, S QLDATETIM4,SQLDATETIM8, SQ LMONEY, SQLMONEY4, SQLVAR IANT, and SQLUNIQUEID None. NULLABLE Variable Number SQLDECIMAL and SQLNUMERIC None. NULLABLE, PRECISION, SCALE LOB SQLIMAGE, CharLOB, SQLTEXT, and SQLUDT None. NULLABLE Character LOB SQLNTEXT None. NULLABLE Binary string SQLBINARY and SQLVARYBIN None. NULLABLE, LENGTH Character string SQLCHAR, SQLVARYCHAR, SQL NCHAR, and SQLNVARCHAR None. NULLABLE, LENGTH
  • 13.
    Reference  Non-XML FormatFiles  http://technet.microsoft.com/en-us/library/ms191479.aspx  XML Format Files  http://technet.microsoft.com/en-us/library/ms187833.aspx  Create a Format File  http://technet.microsoft.com/en-us/library/ms191516.aspx