如何导入 SQLServer XML 与 XML 批量加载组件

来源:互联网 发布:mac photoshop cc 破解 编辑:程序博客网 时间:2024/05/29 15:54
注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。
文章编号 : 316005 最后修改 : 2005年12月23日 修订 : 4.0
本页
概要
要求
创建表以接收数据
创建 XML 数据源文件
创建映射架构文件
创建 VBScript 程序来执行 XML 批量加载组件
运行 VBScript 程序
验证原理
备用技术
参考

概要

该 XML 中表示数据通过 XML 批量加载组件可以加载到 Microsoft SQL Server 2000 数据库。 本文概述步骤, 您需要按照将 XML 数据加载到数据库中已经存在一个表。

注意 如果使用 Microsoft SQL Server 2005, 参见 SQL Server 2005 联机丛书中 " XML 批量加载范例 " 主题。

回到顶端

要求

若要使用本文所需步骤: • 用于 SQL Server 2000 (SQLXML), 或以后 Web 1 是 XML。 需要以前知识: • 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 文档。 • 生成表架构之前批量加载。 • 大容量装载从流。 • 大容量装载溢出列中。  
原创粉丝点击