了解 XML 格式化文件

Microsoft SQL Server 2005 和更高版本提供了定义用于编写“XML 格式化文件”的语法的 XML 架构。XML 格式化文件必须符合用 XML 架构定义语言 (XSDL) 定义的这种架构。只有当 SQL Server 工具和 SQL Server Native Client 一起安装后,才支持 XML 格式化文件。

注意注意

SQL Server 2005 和更高版本支持两种类型的格式化文件。相反,Microsoft SQL Server 2000 及更早版本仅支持一种类型的格式化文件。为了区分原先存在的格式化文件和 XML 格式化文件,将原先存在的格式化文件称为“非 XML 格式化文件”。

使用 XML 格式化文件,可以将数据大容量导入表或非分区视图,并可以大容量导出数据。XML 格式化文件是非 XML 格式化文件(SQL Server 2000 及其早期版本支持,当前版本依旧支持)的一种替代形式。XML 格式化文件比非 XML 格式化文件更灵活,功能更强大。XML 格式化文件易于理解和创建。而且,这些文件具有较强的可读性,这使您更容易理解在大容量操作过程中是如何解释数据的。XML 编码清晰地描述了数据文件的数据类型和数据元素以及数据元素和表列之间的映射。

XML 格式化文件得以增强的同时,仍与早期版本保持兼容。此外,XML 编码清晰,有利于为给定数据文件创建多个格式化文件。这有助于将所有或某些数据字段映射到不同表或视图中的列。

使用 bcp 命令可以自动生成表的 XML 格式化文件;有关详细信息,请参阅 bcp 实用工具

XML 格式化文件的结构

和非 XML 格式化文件一样,XML 格式化文件定义数据文件中数据字段的格式和结构,并将这些数据字段映射到单个目标表中的相应列。

XML 格式化文件具有两个主要组件 <RECORD> 和 <ROW>:

  • <RECORD> 说明数据文件中存储的数据。

    每一 <RECORD> 元素包含一个或多个 <FIELD> 元素。这些元素与数据文件中的字段相对应。基本语法如下:

    <RECORD>

       <FIELD .../> [ ...n ]

    </RECORD>

    每个 <FIELD> 元素说明特定数据字段的内容。一个字段只能映射到表中的一列,并不是所有字段都需要映射到列。

    数据文件中字段的长度可以是固定或可变的,也可以由字符结尾。“字段值”可以表示为字符(使用单字节表示形式)、宽字符(使用 Unicode 双字节表示形式)、本机数据库格式或文件名。如果字段值为文件名,则文件名指向包含目标表中 BLOB 列的值的文件。

  • <ROW> 说明在将数据从文件导入 SQL Server 表中时,如何构造数据文件中的数据行。

    <ROW> 元素包含一组 <COLUMN> 元素。这些元素与表列相对应。基本语法如下:

    <ROW>

       <COLUMN .../> [ ...n ]

    </ROW>

    每个 <COLUMN> 元素均只能映射到数据文件中的一个字段。<ROW> 元素中 <COLUMN> 元素的顺序定义了其在大容量操作中返回的顺序。XML 格式文件为每个 <COLUMN> 元素分配了一个本地名称,该名称与大容量导入操作的目标表中的列没有关系。

其他主题