.Net开发采用DB2 XML的应用程序示例

http://www.itjxue.com  2015-07-17 12:17  来源:未知  点击次数: 

  一个存储库,例如关系数据库,可以为授权用户安全地共享 XML 文档和 XML 模式提供一个环境。授权用户可以在任何时候、任何地方安全地访问重要的 XML 文档和 XML 模式。通过使用可包含一个或多个关系数据库系统的存储库系统,用户可以找到并检索最新版本的 XML 文档和 XML 模式文档。DB2® 9 为 XML 提供了新的支持,对于这种新支持,.Net 应用程序开发人员可以很快地上手。这是因为 DB2 9 让程序员可以像对待关系数据那样查询、插入、更新和删除 XML 数据 —— 使用熟悉的 ADO .Net 语句和标准的查询语言。本文展示一些关于如何使用 .Net 构建采用 DB2 XML 技术的应用程序的详细示例。DB2 XML 技术允许以 XML 原有的分层格式来存储、验证和查询 XML

  DB2 中的 XML 支持

  DB2 9 为管理、存储和查询 XML 数据引入了一些新的特性和机制:

  • XML 数据类型使 DB2 可以以 XML 本身的分层格式来存储 XML 文档。
  • XML 查询语言支持基于业界标准,并包括新的对 SQL 的 XML 扩展(也称 SQL/XML)。
  • 支持基于用户提供的模式验证 XML 数据,这使得应用程序开发人员和数据库管理员可以对 DB2 中存储的 XML 数据实施数据完整性约束。本文中的例子使用 DB2 Visual Studio 2005 Add-in。

  本文中的代码示例引用了 CARPOOL 表,该表记录旧金山和圣何塞两地关于合伙用车的信息。清单 1 展示了该表的定义。另外,还需确保数据库启用了 XML

  环境设置

  注意:应确保 SAMPLE 数据库在创建时启用了 XML(见后面的定义)。

  本文需要使用 Visual Studio .NET 2005 和 DB2 9。这两个产品的安装很简单。建议先安装 Visual Studio .NET,然后再安装 DB2 9。请记住在安装 DB2 时所输入的用户 ID 和密码,因为在连接 DB2 时要使用它们。

  在 DB2 安装期间,应确保启用了 TCP/IP。如果在安装 DB2 之后不确定 TCP/IP 是否被启用,可以执行以下步骤进行检查:

  • 从 Windows Start 菜单中,选择 Programs > IBM DB2 > DB2(默认)[或者为 DB2 实例名称] > Command Line Tools > Command Window。
  • 在 DB2 命令窗口中,应该可以看到命令提示符 C:\Program Files\IBM\SQLLIB\BIN>(如果使用默认安装路径的话)。输入 db2set。在返回的结果中,应该可以看到这一行: DB2COMM=tcpip。

  如果还没有为 DB2 启用 TCP/IP,那么可以输入以下命令来启用 TCP/IP:

  • db2set db2comm=tcpip
  • db2 update dbm cfg using svcename 50000
  • db2stop
  • db2start

  安装了 DB2 之后,可以选择创建 DB2 SAMPLE 数据库。如果选择这么做,那么应接受默认设置,但务必选择 XML and SQL objects and data 选项。

  为了检查系统设置是否成功,启动 Visual Studio .NET 2005。在 Visual Studio .NET 中,选择 File > New > Project。在 New Project 对话框中,在左侧面板中应该可以看到 IBM Projects。关闭该对话框。在 Server Explorer 中,连接到 DB2 SAMPLE 数据库(具体步骤请参阅 “Develop proof-of-concept .NET applications, Part 1: Create database objects in DB2 Viper using .NET”(developerWorks,2006 年 5 月))。确认在 Server Explorer 中可以看到 XML Schema Repository 树节点。如果没有看到,那么可能需要重新创建 SAMPLE 数据库,以启用 XML 特性。

  清单 1. CARPOOL 表定义

  这里有两个 XML 模式,CarpoolInfo.xsd 和 USAddressType.xsd,其中 CarpoolInfo.xsd 引用了 USAddressType。

  清单 2. 用于验证 CARPOOL 表中的 XML 文档的 XML 模式(CarpoolInfo.xsd)


  清单 3. CarpoolInfo 依赖的 XML 模式(USAddress.xsd)

  
  CARPOOL 表既包含基于 SQL 数据类型的列,又包含一个基于新的 DB2 XML 数据类型的列。后一个列,即 CARPOOLINFO,存储包括合伙用车者的地址和开始时间等信息的 XML 文档。图 1 展示了示例 carpoolnfo XML 文档。

  图 1. 存储在 CARPOOL 表中的示例 XML 文档

  示例 <a  data-cke-saved-href='http://www.itjxue.com/xml/' href='http://www.itjxue.com/xml/'><u>XML</u></a> 文档

  现在来看看如何插入、更新和验证 CARPOOLINFO 列中的 XML 文档。清单 2 展示了一个 XML 模式,在将一个 XML 文档插入 CARPOOLINFO 列之前,需要使用这个 XML 模式对该 XML 文档进行验证。

  为了编译和运行 .Net 应用程序,需要创建一个新的 Visual Studio .Net 项目。如果之前没有使用过 Visual Studio .Net,那么可以看看下面关于如何完成这些任务的概述:

  1. 启动 Visual Studio 2005。
  2. 创建一个新项目。选择 File > New > Project。选择 Visual C# > Windows Application。
  3. 创建对 DB2 .Net 数据提供程序 IBM.Data.DB2 的引用。在 Visual Studio .Net 项目管理器中,右键单击 References 节点,选择 Add Reference。选择 Browse 选项卡,找到 IBM.Data.DB2.dll,该文件位于 DB2 安装目录中,路径为 \SQLLIB\BIN\netf20\IBM.Data.DB2.dll。

  连接数据库

  首先需要建立到目标数据库的一个连接。清单 4 是用于建立 DB2 数据库连接的一个方法的片段。

  清单 4. 建立 DB2 数据库连接

  注册 XML 模式

  DB2 9 允许用户注册 XML 模式,并在插入输入文档之前,根据这些模式对输入文档进行验证。XML 模式是 World Wide Web Consortium(W3C)业界标准的一部分。用户可以通过 XML 模式指定 XML 文档应遵从的结构,例如可接受的 XML 元素的顺序和数据类型,以及特定 XML 名称空间的使用。 DB2 Visual Studio 2005 Add-in 工具提供了一种使用简单的注册设计器来注册 XML 模式的简单方法,不过本文将展示如何使用 .Net 代码注册 XML 模式。一旦在 DB2 XML 模式库中注册了一个 XML 模式,便可以用该模式来验证 XML 文档。清单 5 展示了使用 .Net 代码注册 XML 模式的一种方法。

  清单 5. 注册 XML 模式

(责任编辑:IT教学网)

更多

推荐其他WEB语言文章