级别: 初级
【程序编程相关:学习共享: 已声明的全局临时表】victor yang 【推荐阅读:DB2 Universal Databa】
【扩展信息:Bob Lyle 谈 DB2 中的 OL】 软件开发人员, ibm 2004 年 6 月 您希望降低用 db2 udb jdbc 编写的工具的开发与维护成本吗?在这篇文章中,victor yang 解释了如何借助 jython 来做到这一点.简介
db2 ®universal database ™(udb)jdbc 驱动程序已被证明是一种强大的,并且得到 ibm 支持的技术.jython 是 python 编程语言百分之百的纯 java 实现(请参阅 参考资料).首先,我们将告诉您 jython 为何在编写 db2 jdbc 工具方面功能强大.使用方便且充满乐趣.然后,我们将展示如何安装带有 db2 jdbc 驱动程序的 jython.最后,我们将演示几个查询示例,以及一个在 jython 中使用批量插入的 qa 工具.
为何使用 jython?
以下是 neo 的一个真实故事.neo 是全职的服务器端 java 开发人员.他使用 python 编写实用程序,例如解析 xml 或通过 http 协议连接充当信用卡网关与订单履行网关的 web 服务.因为 python 的类型是动态的,且具有简洁的数据结构语法,比如列表与字典,所以 neo 发现它通常可以减少代码行.neo 在处理一个股票交易应用程序,该应用程序是用部署在 aix 上的 websphere application server 5.x 与 db2 8.x 构建的.在实时系统中,每隔几分钟就要向表 stockquote 输入 10,000 条 xml 格式的记录,以更新股票行情.执行批量输入的代码是作为另一系统的组成部分而由另一团队完成的,所以他无法获得源代码.此外,stockquote 上有一个触发器,一旦股票价格下跌至一个预定义的阈值如 $10,该触发器就发出警报.项目经理给 neo 分配了任务,让他用 mercury interactive 的 loadrunner 或 segue 的 silkperformermeasure 等自动化加载测试工具,测量在批量输入的情况下触发器所带来的性能影响.因此,neo 需要编写一个批量输入的仿真器(simulator),用于模拟向 stockquote 表加载 10,000 行记录.
开始,neo 希望用纯 java jdbc 编写该仿真器,但是冗长的类型声明.编辑/编译/测试周期将占用他大量宝贵的开发时间.而且,因为 python 的效率收益过去给 neo 留下了深刻印象,所以他想是否可以用 python 编写代码来使用 db2 jdbc 驱动程序.如果可行,他就可以在几小时之内,用 python 整洁的列表与字典等数据结构,以及列表理解(list comprehension)等整洁的函数编程功能来编写这个代码.在进行一些研究之后,他发现 jython 十分方便,且正适合该工作.因为十分熟悉 db2 jdbc 的编程,并拥有 jython 参考资料,所以 neo 在几小时之内就编写并测试了批量插入仿真器.他十分惊讶于 jython 的强大功能,jython 中包含了两大最佳领域:巨大的 java 库与整洁的 python 功能.因此,批量输入仿真器的最终代码比用纯 java jdbc 所编写的源代码要少很多.源代码的总量影响很大,因为它可以减少程序员在编程时需要处理的细节.因此,降低源代码量将减小软件的复杂性,从而节省成本.
jython jdbc 安装
安装 jython 2.1
... 下一页