我与Db2 9新特性的零距离体验(1)

<script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page1.js"></script><script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page2.js"></script>作者: 宗一 出处:IT168    阅读提示: 在这篇文章中,我们将会向大家展示如何操作Db2 9中的新的XML数据类型。我们将通过一个示例来展示如何操作Db2 9中的XML数据类型。

Db2 9中新特性概述 

经过长达 5 年的开发,IBM Db2 9 将传统的高性能、易用性与自描述、灵活的 XML 相结合,转变成为交互式、充满活力的数据服务器。其中Db2 9的一个最主要的特性就是借助 pureXML® 技术提升 XML 应用性能,节约开发时间和成本。 

那么什么是pureXML呢?我们知道在过去我们将XML 数据存储为大对象文本或分散到关系表,这种方式并不能适应灵活的业务需求。Db2 9 的 pureXML 特性革新了 XML 文档的处理方式——将 XML 作为新的数据类型存储在原生的层次性模型之中。

pureXML 对于 XML 与关系数据的无缝集成通过灵活的 XML 索引、SQL 与 XQuery 查询接口加速了应用开发、提高了搜索性能。 

Db2 以 XML 数据自身固有的分层格式存储和处理这些数据,避免因为将 XML 存储为 CLOB 中的文本或将它映射为关系表而导致的性能和灵活性限制。与仅使用 XML 的数据库不同,Db2 V9 还提供了关系型数据与 XML 数据在数据库中的无缝集成 —— 甚至是表的某一行中的集成。这样的灵活性表现在语言支持中,使您可访问关系型数据、XML 数据,或者同时访问这两种数据。 

在这篇文章中,我们将会向大家展示如何操作Db2 9中的新的XML数据类型。我们将通过一个示例来展示如何操作Db2 9中的XML数据类型。 

准备工作: 

1.创建数据对象 

为了操作方便,我们使用Db2 9中的SAMPLE数据库,在这里说明一点,在Db2 Viper中只有Unicode 数据库才能同时存储 XML 文档和 SQL 数据的更多传统格式,比如整数、日期/时间、变长字符串,等等。随后,您将在这个数据库中创建对象来管理 XML 和其他类型的数据。 

2.创建数据表 

由于我们使用的是SAMPLE数据库,该数据库中有一张CUSTOMER表,CUSTOMER表中有三个字段,其字段名称和数据类型如图所示:

498)this.style.width=498;">

该表中有两个XML的字段,实际上Db2使用了不同的存储方案来存储 XML 和非 XML 数据。另外,对XML的数据类型并没有进行XML文档内部结构的定义,即,用户不需要为了存储数据而预定义一个 XML 数据结构(或者,更准确地说是一个 XML 模式)。事实上,Db2 可以在一个单独的列中存储任何格式良好的 XML 文档,这意味着不同模式的 XML 文档 —— 或没有和任何注册的模式关联的文档 —— 都可以存储在相同的 Db2 列中。
至此,我们需要的数据库及其表已经准备就绪,接下来我们就看如何对CUSTOMER这张表中的XML数据类型进行操作了。

连接操作 

Db2与JDb

为了连接数据库,需要使用Db2 JDbC技术,依照 JDbC 规范,有四种类型的 JDbC 驱动程序体系结构: 

Type 1:这类驱动程序将 JDbC API 作为到另一个数据访问 API 的映射来实现,如开放式数据库连通性(Open Database Connectivity,ODbC)。这类驱动程序通常依赖本机库,这限制了其可移植性。JDbC-ODbC 桥驱动程序就是 Type 1 驱动程序的最常见的例子。

Type 2:这类驱动程序部分用 JAVA 编程语言编写,部分用本机代码编写。这些驱动程序使用特定于所连接数据源的本机客户端库。同样,由于使用本机代码,所以其可移植性受到限制。 

Type 3:这类驱动程序使用纯 JAVA 客户机,并使用独立于数据库的协议与中间件服务器通信,然后中间件服务器将客户机请求传给数据源。 

Type 4:这类驱动程序是纯 JAVA,实现针对特定数据源的网络协议。客户机直接连接至数据源。

其中COM.ibm.Db2.jDbc.app.Db2Driver和COM.ibm.Db2.jDbc.net.Db2Driver都在Db2java.zip文件中,可以把他改名成Db2java.jar文件使用。通用驱动程序,放在文件Db2jcc.jar文件中。 

这三种驱动的程序加载和连接建立方法如下:

//Class.forName("COM.ibm.Db2.jDbc.app.Db2Driver");
//Class.forName("COM.ibm.Db2.jDbc.net.Db2Driver");
//Class.forName("com.ibm.Db2.jcc.Db2Driver");

//连接例子可以相同,都是指定主机,端口和数据库名称
String DbUrl ="jDbc:Db2://localhost:6789/sample";
con = DriverManager.getConnection(DbUrl,"www","123456");

连接的例子 

在这里我们使用的是通用驱动程序,并采用配置文件的形式,其配置文件是Db2Conn.properties。在该配置文件里有连接数据库的地址,用户名,密码和数据库名等。其代码如下:

# Properties file for java xml samples

# Created on Nov 3, 2004
# Description: file containing the value that automate the execution and testing of functions

#rollbackCommit=rollback
#interactive=yes

# Modify the following according to your machine log in
hostName=localhost
portNumber=50000
password=lys
databaseName=SAMPLE
userName=Administrator

# Modify the following to test different situations
#purchaseOrder_id=1020
#pID=100-101-01
fileName=F://eclipse//WorkPlace//Db2XML//src//p5.xml

<script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page1.js"></script><script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page2.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值