e-mail: richardchoi@126.com
关于db2数据库的jdbc连接文章有很多,比较出名的有诸如“jdbc数据库连接大全”和“jsp的db2连接数据库”,虽然都是很详细的资料,也都说解决了前人没有解决的问题,但还是有许多纰漏。我就这两天的经验给大家写一篇关于jdbc连接数据库的文章,以解决一部分人的疑问。
第一, jdbc是jdk的一部分(至少在java tiger development kits中是这样),使用jdbc直接在程序文件中写import java.sql.*;即可使用了。
第二, 连接字符串的格式。本地连接的连接字符串格式为jdbc:product_name: database_name,远程连接的格式为jdbc:product_name://host_name/port_ number:database_name。即如果我的数据库名字为rdb,则本地连接字符串为jdbc:db2:rdb(当然rdb一定是处于db2的默认实例之中的),而远程连接字符串为jdbc:db2://192.168.1.10/50000:rdb(这里192.168.1.10为数据库所在服务器ip地址,而50000为db2连接服务的端口号)。
第三, 安装db2数据库提供的为jdbc准备的类库(在.net中叫provider,在java中怎么叫还没研究过)。查找ibm db2 udb的安装目录或者java tiger的jdk目录你会找到db2java.zip,把它先做一个副本以后就它最有用了。现在我们开始讨论数据库连接的程序代码。
应用程序连接db2数据库:
先将db2java.zip解压缩,把com目录转移到代码的当前目录,然后我们开始注册这个provider的实例,代码为:
class.forname(“com.ibm.db2.jdbc.app.db2driver”).newinstance();
class.forname(“com.ibm.db2.jdbc.net.db2driver”).newinstance():
这两句任选其一,作用稍有不同,前者是具有db2客户端的provider实例,后者是无db2客户端的provider实例。
此后再写connection con=drivermanager.getconnection();即可得到数据库连接的实例。
jsp中连接db2数据库:
这里以tomcat作为servlet容器,如果想在tomcat中使用db2 provider必须把db2java.zip更名成db2java.jar然后复制到tomcat主目录下common\lib目录下,重新启动tomcat这样就完成了provider的注册。然后注册provider实例的代码与上面等同。还有文章写到另一种注册provider实例的方法:
drivermanager.registerdriver(new com.ibm.db2.jdbc.app.db2driver());
drivermanager.registerdriver(new com.ibm.db2.jdbc.net.db2driver());
数据库连接实例化方法同上。
深入探讨:
我本人不是很了解tomcat的运行机制以及原理,不过通过测试发现直接从jsp页面连接db2数据库会非常的慢。经过实践发现,最好的方法就是在servlet中使用数据库连接代码,然后把数据库连接返回给jsp页面,十分方便,也便于集中处理代码问题。而且db2的数据库连接中总会出现db2服务器自己突然down掉或者出现连接越发缓慢,这是db2的实例及数据库参数配置不妥而引起的,我将会再另外的文章中详述,希望能帮助大家。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


