概要
XML 中表示的数据可以通过使用 XML 大容量装载组件加载到 Microsoft SQL Server 2000 数据库。 本文概述了您需要按照将 XML 数据加载到数据库中已存在一个表格的步骤。

注意 如果您使用 Microsoft SQL Server 2005,请参见 SQL Server 2005 联机丛书中的"XML 大容量加载示例"主题。


回到顶端

要求
若要使用该步骤需要此文章中: • 为 SQL Server 2000 (SQLXML),或更高版本 Web Release 1 的 XML。
所需预备知识: • XML 的知识。


回到顶端

创建表以接收数据
使用以下步骤创建一个表来接收该 XML 大容量装载组件处理的数据。 1. 创建一个名为 MyDatabase 在 SQL Server 中的数据库。
2. 打开 SQL 查询分析器,然后将该数据库更改为 MyDatabase 。
3. 通过在查询分析器中运行下列 SQL 语句在 MyDatabase 中创建 客户 表:

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 凭据在代码的第二行,以便该脚本可以使用您的 SQL Server 安装。 如果您不执行更正行 2,您执行该脚本后,会出现以下错误信息:
连接到数据源时出错


回到顶端

运行 VBScript 程序
运行 VBScript 程序 C:\Insertcustomers.vbs 将三个客户记录插入到 客户 表。


回到顶端

验证它正常工作
在 SQL 查询分析器,切换到 MyDatabase 数据库,然后再运行此查询: Select * FROM Customer
                
注意在"创建 XML 数据源文件"标题中创建的三个记录现在位于 客户 表。


回到顶端

其他技术
该 XML 大容量装载组件是能够: • 通过使用 XML 架构文件中指定关系的 XML 文档映射到倍数表。
• 正在生成大容量加载之前,表架构。
• 大容量加载从流中。
• 大容量溢出列中的加载。

相关文章:

  • 2021-07-07
  • 2021-11-10
  • 2022-12-23
  • 2021-06-22
  • 2021-08-07
  • 2021-06-27
  • 2022-02-05
猜你喜欢
  • 2021-05-30
  • 2022-12-23
  • 2021-12-23
  • 2022-02-10
  • 2021-11-07
  • 2022-01-02
相关资源
相似解决方案