技术开发 频道

DB2 9 入门: 应用程序开发方面的增强

    经过更新的本地 DB2 .NET 数据提供程序

    DB2 附带了一个经过更新、能用于 .NET framework Version 2.0 的本地 .NET 数据提供程序,并且该数据提供程序被集成到 Visual Studio Server Explorer 中。这个更新后的 .NET 数据提供程序包括以下增强:

    对 System.Data.Common 基类的支持 —— 这使您可以开发通用的 .NET 数据库应用程序,而不必引用任何与特定类相关的数据提供程序。在编写要在各种不同数据服务器(或提供程序)中重用的应用程序代码时,这一点尤其有用。在适当情况下,DB2 .NET 数据提供程序从 System.Data.Common 名称空间中的相应类继承而来。

    DbProviderFactory myFactory =DbProviderFactories.GetFactory("IBM.Data.DB2");

    或者,也可以使用 DB2Factory 类来创建与 DB2 相关的 .NET 对象:

    DB2Factory myFactory = DB2Factory.Instance;

    DB2 数据类型与 .NET 数据类型的对等关系 —— 在 .NET 中,对于所有 DB2 数据类型,DB2Type 名称空间中都有一个对等的数据类型。借助这一点,开发人员可以使数据类型完全保持原状。DB2Types 类型还提供了将 DB2 数据库列值表示为一个个可以为空的对象的方法。DB2Types 类的实例还可以作为 CLR 存储过程或用户定义函数的参数。

    可滚动和可更新结果集 —— 现有 DB2Command 类中添加了新的方法,用于创建可导航的结果集。这些方法使您的应用程序可以更新单个的列值,或者前后滚动结果集。

    数据分页功能 —— DB2Command 类现在有一个 ExecutePageReader 方法,该方法使应用程序可以从数据库中取一组特定的行。它允许应用程序指定从数据库中所取的起始行,以及所取的行数。在查找一组特定的行的时候,这个特性非常有用,而且比通过滚动整个结果集寻找所需的行要快得多,也简单得多。

    批量数据复制 —— 新的 DB2BulkCopyOperation 类提供了批量复制 DB2 表中的数据的能力。这使得插入来自 DataReader 之类的数据源或非 DB2 数据源的记录变得容易。

    SQL 语句的批量更新 —— DB2DataAdapter 的 UpdateBatchSize 属性使应用程序可以在将 SQL 语句成批发送给 DB2 数据库服务器之前,确定要收集的 SQL 语句的数量。这可以大大提高性能,因为这样减少了客户机应用程序与数据库服务器之间零散的数据传输。

    丰富的 XML 开发支持

    DB2 9 包含 pureXML 技术,该技术为高度有效地管理和提供 XML 数据提供了一组独特的功能。pureXML 技术由一个真正的 XML 数据类型(按分层格式存储 XML,而不是将其存储为大型对象或分成几个关系列)、XML 索引能力、XML 文本搜索支持、SQL/XML 和 XQuery 支持、模式演变的灵活性以及大量其他的功能组成,这些功能在 “What’s new in DB2 Viper: XML to the Core”(developerWorks,2006 年 2 月)中有介绍。

    作为 pureXML 技术不可或缺的一部分,DB2 9 包含了对开发以 XML 为中心和混合的应用程序的支持,以简化代码编写工作,减少开发时间,并提高应用程序的应变能力。DB2 9 中的 XML 开发支持包括:

    对各种编程语言和应用程序接口的支持
    对使用 XQuery 和 SQL/XML(或两者同时使用)查询数据的支持
    Developer Workbench 中全面的 XML 功能(包括 XQuery builder)
    pureXML 与 Visual Studio 和 .NET 的紧密集成
    新的 XML 开发代码示例和 DB2 SAMPLE 数据库增强
    用于编程语言和接口的 XML 数据类型支持

    DB2 客户机接口中已经添加了新的与特定语言相关的 XML 类型和绑定,以允许应用程序高效、无缝地使用 DB2 XML 数据类型。因此,DB2 XML 数据类型支持以下流行的编程语言和应用程序接口:

    语言 —— C/C++、Java、C#、Visual Basic、Cobol、PHP
    接口 —— JDBC、CLI / ODBC、.NET、Embedded SQL、SQLJ

    以 DB2 对 JDBC 中的 XML 的支持为例。新的用于 JDBC 的 DB2 驱动程序已经在 XML 数据方面得到了增强。可以使用 Java 数据类型,例如字符串、字节数组和流,对作为查询结果和输入输出参数的 XML 数据进行绑定。由于当前的 JDBC 3.0 没有定义一种本地的 XML 数据类型,因此 DB2 提供了一种扩展 XML 类型,即 com.ibm.db2.DB2Xml。DB2Xml 扩展有很多非常有用的方法,这些方法使得对 XML 数据的处理变得容易。在下面的例子中,一个列被检索出来并存为 DB2Xml 对象。然后,getDB2String 方法返回 XML 值(没有 XML 声明)的字符串对象形式的串行化表示。接着,getDB2XMLBinaryStream("UTF-16") 返回一个用 UTF-16 编码 XML 值的二进制流,并提供了一个匹配的 XML 声明。

    com.ibm.db2.jcc.DB2Xml xml1 =
     (com.ibm.db2.jcc.DB2Xml) rs.getObject ("xml_stuff");
    String s = xml1.getDB2String();
    InputStream is = xml2.getDB2XMLBinaryStream("UTF-16");
     
    要获得更多的例子,请参阅文章 “Develop Java applications for DB2 XML data”(developerWorks,2006 年 5 月)。

0
相关文章