可以利用对 DB2 通用数据库的存储过程能力的这些增强功能来改进应用程序性能。
已经增强了“存储过程构建器”,从而简化了构建存储过程的过程, 并且使得在企业中进行调试和部署存储过程更容易:
有关“存储过程构建器”的详情,参见联机帮助。
DB2 版本 7.2 提供了一组基本功能, 用于集成 SQL 语句内的 MQSeries 消息传递操作。这些功能支持各种消息传递模型, 包括简单、单向消息、请求答复和发布预订。通过使用这些基本功能, 就可以支持大范围的应用程序,从简单事件通知到操作性数据仓库创建。
“DB2 7.2 发行说明”中和以下网址提供了详细信息:www.software.ibm.com/software/data/integration/MQSeries。对准结构化消息的附加支持是由“MQSeries 辅助程序向导”提供的(参见MQSeries 辅助程序向导以了解详情)。对 XML 消息的附加支持是由 DB2 XML Extender 中的新功能提供的(参见http://www.ibm.com/software/data/db2/extenders/xmlext/ )。
新的 DB2 版本 7.2 数据仓库中心还提供了“MQSeries 集成”。有关此新功能的详细信息, 可在MQSeries 消息队列中找到。
现在,还提供了 MQSeries 的副本以支持在 Windows 2000、Windows NT、AIX、HP-UX 和 Solaris 操作环境上使用这些令人激动的新功能。
DB2 版本 7.2 提供了新的“MQSeries 辅助程序”向导。此向导创建了一个表函数, 它使用 MQSeries 用户定义函数读取 MQSeries 队列,它在版本 7.2 中也是新增的。
该向导可能会将每个 MQSeries 消息视作定界字符串或定长列字符串,视您的规范而定。创建的表函数会按照规范分析该字符串, 并返回 MQSeries 消息作为表函数的一行。向导还允许您在表函数的顶部创建一个视图, 以预览 MQSeries 消息和表函数结果。
DB2 版本 7.2 提供了新的“OLE DB 辅助程序”向导。此向导帮助您创建从另一支持 Microsoft OLE DB 标准的数据库供应商读取数据的表函数。可选择使用由 OLE DB 表函数读取的数据来创建 DB2 表, 还可以创建 OLE DB 表函数的视图。
有关“OLE DB 辅助程序”向导的详情,参见 DB2 发行说明。
DB2 现在提供了嵌套的存储过程支持, 它不仅简化了迁移其他数据库供应商的应用程序的过程, 而且还使应用程序开发者可更有效地使用和开发存储过程。 有关详情,参见 Application Development Guide。
现在,除“DB2 通用数据库 OS/390 版”和DB2 通用数据库 OS/400 版之外, “SQL 过程语言”支持对 Windows、OS/2 和 UNIX 上的 DB2 也是可用的。它支持以一种与 ANSI SQL99 标准的“永久存储模块”定义相一致的方式,来构建采用了 SQL 的 DB2 存储过程。有关详情,参见 Application Development Guide 和《应用程序构建指南》。
除 Java 和存储过程语言之外, DB2 通用数据库现在还允许您使用 Microsoft Visual Basic 编写存储过程。使用 Microsoft Visual Basic 编写的存储过程可在 Windows 32 位操作系统上运行的 DB2 通用数据库服务器上进行部署。 可以将 OLE 指定为实现存储过程所使用的语言, 并从使用 DB2 所支持的任何语言编写的客户机应用程序中调用它。 参见本机 OLE DB 支持以获取有关 DB2 OLE 支持的详情。
现在可以从命令行处理器 (CLP) 中使用 CALL 命令来调用存储过程。有关详情, 参见 SQL Reference,第 1 卷。
随“应用程序开发客户机”一起提供了增强的存储过程样本集。 样本是使用用 C/C++ 语言编写的嵌入式 SQL、 用 C 语言编写的 CLI、用 Java 语言编写的 JDBC 和 SQL 过程来编写的。 它们演示了用一种语言编写的客户机应用程序,调用用另一种语言编写的存储过程的能力。 将 CREATE PROCEDURE 语句、客户机应用程序、存储过程和 DROP PROCEDURE 语句的源文件分开,可以使复制和修改样本代码以创建您自己的存储过程更容易。
借助 Java 类装入程序,DB2 通用数据库使您能够改进 Java 存储过程的性能, 并提高生产服务器的可用性。Java 类装入程序允许您对 Java 存储过程类进行联机替换。 当您发出 CALL SQLJ.REFRESH_CLASSES() 语句时,DB2 继续运行,“Java 虚拟机”(JVM) 仍然装入内存,准备执行已刷新的存储过程类。 存储过程可以使用新类,而不需要停止数据库管理器。有关详情,参见 Application Development Guide。