注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。
| 文章编号 | : | 316005 |
| 最后修改 | : | 2005年12月23日 |
| 修订 | : | 4.0 |
概要
该 XML 中表示数据通过 XML 批量加载组件可以加载到 Microsoft SQL Server 2000 数据库。 本文概述步骤, 您需要按照将 XML 数据加载到数据库中已经存在一个表。
请
注意 如果使用 Microsoft SQL Server 2005, 参见 SQL Server 2005 联机丛书中 " XML 批量加载范例 " 主题。
回到顶端
要求
若要使用本文所需步骤:
| • | 用于 SQL Server 2000 (SQLXML), 或以后 Web 1 是 XML。 |
需要以前知识:
回到顶端
创建表以接收数据
使用如下步骤来创建表以接收数据, 处理 XML 批量加载组件。
| 1. | 创建数据库命名 MyDatabase SQLServer 中。 |
| 2. | 打开 SQL 查询分析器, 然后再更改到 MyDatabase 数据库。 |
| 3. | 通过查询分析器中运行下列 SQL 语句在 MyDatabase 创建 Customer 表: USE MyDatabase CREATE TABLE Customer ( CustomerId INT PRIMARY KEY, CompanyName NVARCHAR(20), City NVARCHAR(20)) |
回到顶端
创建 XML 数据源文件
这是示例数据源代码。 此 XML 粘贴到记事本, 然后再保存该文件作为 C:/Customers.xml。
<ROOT>
<Customers>
<CustomerId>1111</CustomerId>
<CompanyName>Sean Chai</CompanyName>
<City>NY</City>
</Customers>
<Customers>
<CustomerId>1112</CustomerId>
<CompanyName>Tom Johnston</CompanyName>
<City>LA</City>
</Customers>
<Customers>
<CustomerId>1113</CustomerId>
<CompanyName>Institute of Art</CompanyName>
</Customers>
</ROOT>
回到顶端
创建映射架构文件
此下次文件是一个文件, 用于映射到数据库中 客户 表的格式的 XML 数据源格式。 此 XML 粘贴到记事本, 然后再保存该文件作为 C:/Customermapping.xml。
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:xml:datatypes"
xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
<ElementType name="CustomerId" dt:type="int" />
<ElementType name="CompanyName" dt:type="string" />
<ElementType name="City" dt:type="string" />
<ElementType name="ROOT" sql:is-constant="1">
<element type="Customers" />
</ElementType>
<ElementType name="Customers" sql:relation="Customer">
<element type="CustomerId" sql:field="CustomerId" />
<element type="CompanyName" sql:field="CompanyName" />
<element type="City" sql:field="City" />
</ElementType>
</Schema>
回到顶端
创建 VBScript 程序来执行 XML 批量加载组件
这是使用 XML 批量加载组件来插入到表通过使用映射架构述 " 创建该映射架构文件 " 标题 " 创建表以接收数据 " 标题中创建 " 创建将 XML 数据源文件 " 标题中创建三个记录脚本。 将 VBScript 代码粘贴到记事本, 然后再保存该文件作为 C:/Insertcustomers.vbs。
Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MySQLServer;database=MyDatabase;uid=MyAccount;pwd=MyPassword"
objBL.ErrorLogFile = "c:/error.log"
objBL.Execute "c:/customermapping.xml", "c:/customers.xml"
Set objBL = Nothing
更正第二行的代码上 ConnectionString 凭据以便脚本可使用 SQLServer 安装。 如果您执行不更正行 2, 执行脚本后出现以下错误信息:
连接到数据源错误
回到顶端
运行 VBScript 程序
运行 VBScript 程序 C:/Insertcustomers.vbs 可插入 Customer 表三客户记录。
回到顶端
验证原理
在 SQL 查询分析器, 切换到 MyDatabase 数据库, 然后再运行此查询:
SELECT * FROM Customer
请注意 Customer 表中创建 " 创建 XML 数据源文件 " 标题中三个记录都立即。
回到顶端
备用技术
XML 批量加载组件是否是能够:
| • | 通过使用 XML 架构文件中指定关系到倍数表映射的 XML 文档。 |
| • | 生成表架构之前批量加载。 |
| • | 大容量装载从流。 |
| • | 大容量装载溢出列中。 |