学习如何用Jython编写DB2 JDBC工具

简介

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

为了运行本文中的示例,您需要安装 Jython 2.1 和 JVM。您可以从 Jython 主页获得 Jython。如果 将 Jython 安装路径添加到平台上的 PATH 环境变量中,安装就十分方便。

Charming Jython也包 含了安装 Jython 的章节。

启用 DB2 UDB V8 中的 SAMPLE 数据库

本文所展示的示例使用了 SAMPLE 数据库。既可以通过运行与 DB2 一起发布的 db2sampl 程序来创建 SAMPLE 数据库,也可以从 DB2 安装工具菜单中的 FirstSteps 来创建。此外,还必须创建 DB2 ID/口令 。本文中,我们使用 vyang/jythonrocks。

时间: 2024-11-10 00:37:10

学习如何用Jython编写DB2 JDBC工具的相关文章

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

[正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(b

MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

[正文] 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据库资源中间. DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式和 Active Domain Object(领域对象)模式.Data Accessor 模式实现了数据访问和业务逻辑的分离:Active Domain Object 模式实现了业务数据的对象化封装. 需要注意的是,DAO设计模式是Java EE中的设计模式

pdf-求教:如何用c++编写一个简单的PDF文件检测工具?

问题描述 求教:如何用c++编写一个简单的PDF文件检测工具? 想编写一个在Windows下的用c++编写的程序能够检测PDF中是否有恶意代码,求高手帮忙. 解决方案 和编写防病毒软件类似,可以通过特征代码判断.先要建立一个特征库.

《从零开始学Swift》学习笔记(Day4)——用Playground工具编写Swift

 Swift 2.0学习笔记(Day4)--用Playground工具编写Swift  原创文章,欢迎转载.转载请注明:关东升的博客 用Playground编写Swift代码目的是为了学习.测试算法.验证想法和可视化看到运行结果,不是为了使最终的程序编译和发布. Playground程序运行①区域是代码编写视图:②区域是运行结果视图:③区域是时间轴视图:④区域是控制台视图,使用print等日志函数将结果输出到控制台,可以通过左下角的按钮隐藏和显示控制台.   默认情况下时间轴视图是不显示的,

MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

[正文] 这一周状态不太好,连续打了几天的点滴,所以博客中断了一个星期,现在继续. 我们在之前的几篇文章中学习了JDBC对数据库的增删改查.其实在实际开发中,一般都是使用第三方工具类,但是只有将之前的基础学习好了,在使用开源工具的时才能得心应手.如果对JDBC基础不太清楚,或者对本文看不太懂,建议先回顾一下本人之前的几篇和"MySQL数据库学习笔记"相关的文章.但是不管怎样,今后如果用到了数据库的增删改查,肯定是这篇文章中的代码用的最多. 一.DbUtils简介: DBUtils是ap

如何用C#编写文本编辑器

  如何用C#编写文本编辑器[2005-8-24版]        南京千里独行2005版权所有,不限转载,请保留版权声明 摘要    本文探讨了使用C#从底层开发一个带格式的文本编辑器的任务,深入探讨了其中的文档对象模型的设计,图形化用户界面的处理和用户操作的响应,说明了其中的某些技术问题和解决之道. 前言     小弟从大学里开始接触编程也有6年了,工作4年也是干编程的活,见过不少程序,自己也编过不少,在学校编程自己觉得是搞艺术品,其实玩一些游戏,比如文明法老王星际等从某些角度看也是搞艺术品

DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第6部分:DB2开发工具

开始之前 关于本系列 您正在考虑参加DB2 SQL Procedure Developer 认证考试(考试 735)吗?如果是这样,您就来对地方了.这六个DB2 认证准备教程讨论在参加考试之前需要了解的主题的所有基本知识.即使您不打算马上参加认证考试,这些教程也是帮助您全面了解 DB2 V9.5 数据库开发的好资料. 关于本教程 在本教程中,您将了解开发数据库代码的最常用IBM 工具,查看 Visual Explain(来自 IBM DB2 Control Center和Command Edit

AM335x(TQ335x)学习笔记——触摸屏驱动编写

前面几篇文章已经通过配置DTS的方式完成了多个驱动的移植,接下来我们解决TQ335x的触摸驱动问题.由于种种原因,TQ335x的触摸屏驱动是以模块方式提供的,且Linux官方内核中也没有带该触摸屏的驱动源码,单纯的配置DTS是无法完成TQ335x的触摸驱动移植工作的,因此,本文参考内核中原有的pixcir_i2c_ts驱动编写TQ335x的触摸屏(TN92)驱动. 在之前移植TQ210时,我已经编写过TQ210的触摸屏驱动,我的TQ335x还是使用的TQ210的屏,因此,难度不是很大.这里需要说

菜鸟求教:如何用c#编写google的page rank算法

问题描述 菜鸟求教:如何用c#编写google的page rank算法 如题,本人对c#的学习刚起步,请各位达人赐教,将详细代码附上,谢谢. 解决方案 Google Page Rank算法--初稿Google Page Rank 算法google的page rank算法 解决方案二: 首先需要详细了解google的page rank算法的实现原理及伪代码,然后翻译成C#语言实现. 这个算法搜不到现成的代码啊.如果仁兄想研究的话,还是要下一番功夫啊.