示例

在下列示例所示数据文件中, 表示数据文件中的一个制表符, 表示一个回车符。

A. 对字符数据字段和表列进行相同的排序

下面的示例显示了一个 XML 格式化文件,该文件描述一个包含三个字符数据字段的数据文件。格式化文件将数据文件映射到包含三列的表中。数据字段与表中的列一一对应。

**表(行):**Person (Age int, FirstName varchar(20), LastName varchar(30))

**数据文件(记录):**AgeFirstnameLastname

以下 XML 格式化文件从数据文件读取数据到表中。

在 元素中,格式化文件将所有三个字段中的数据值表示为字符数据。对于每个字段,TERMINATOR 属性指示位于数据值后面的终止符。

数据字段与表中的列一一对应。在 元素中,格式化文件将 Age 列映射到第一个字段,将 FirstName 列映射到第二个字段,将 LastName 列映射到第三个字段。

xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
MAX_LENGTH="12"/>
MAX_LENGTH="20" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
MAX_LENGTH="30"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
注意
有关等效的 AdventureWorks 示例,请参阅创建格式化文件。
B. 对数据字段和表列进行不同的排序
下面的示例显示了一个 XML 格式化文件,该文件描述一个包含三个字符数据字段的数据文件。格式化文件将数据文件映射到包含三列(与数据文件的字段排序方式不同)的表中。
**表(行):**Person (Age int, FirstName varchar(20), LastName varchar(30))
数据文件(记录):AgeLastnameFirstname
在 元素中,格式化文件将所有三个字段中的数据值表示为字符数据。
在 元素中,格式化文件将 Age 列映射到第一个字段,将 FirstName 列映射到第三个字段,将 LastName 列映射到第二个字段。
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
MAX_LENGTH="12"/>
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
MAX_LENGTH="30" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
注意
有关等效的 AdventureWorks 示例,请参阅使用格式化文件将表列映射到数据文件字段。
C. 省略数据字段
下面的示例显示了一个 XML 格式化文件,该文件描述一个包含四个字符数据字段的数据文件。格式化文件将数据文件映射到包含三列的表中。第二个数据字段不与任何表列对应。
**表(行):**Person (Age int, FirstName Varchar(20), LastName Varchar(30))
**数据文件(记录):**AgeemployeeIDFirstnameLastname
在 元素中,格式化文件将所有四个字段中的数据值表示为字符数据。对于每个字段,TERMINATOR 属性指示位于数据值后面的终止符。
在 元素中,格式化文件将 Age 列映射到第一个字段,将 FirstName 列映射到第三个字段,将 LastName 列映射到第四个字段。
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
MAX_LENGTH="12"/>
MAX_LENGTH="10"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
MAX_LENGTH="20"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
MAX_LENGTH="30"
COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
注意
有关等效的 AdventureWorks 示例,请参阅使用格式化文件跳过数据字段。
D. 将 xsi:type 映射到 xsi:type
下面的示例显示了各种类型的字段及其与列的映射。
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
MAX_LENGTH="4"/>
COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
MAX_LENGTH="32" COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
MAX_LENGTH="4"/>
COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
MAX_LENGTH="32" COLLATION="SQL_LATIN1_GENERAL_CP1_CI_AS"/>
LENGTH="16" NULLABLE="NO"/>
PRECISION="5" SCALE="3"/>
E. 将 XML 数据映射到表
下面的示例创建了一个空的两列表 (t_xml),表中的第一列映射到 int 数据类型,第二列映射到 xml 数据类型。
CREATE TABLE t_xml (c1 int, c2 xml)
以下 XML 格式化文件将数据文件加载到表 t_xml 中。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
F. 导入固定长度或固定宽度的字段
下面的示例分别介绍包含 10 个或 6 个字符的固定字段。格式化文件将这些字段的长度/宽度分别表示为 LENGTH="10" 和 LENGTH="6"。数据文件中各行以回车符和换行符的组合 {CR}{LF} 结尾,格式化文件将该组合表示为 TERMINATOR="\r\n"。
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">