对配置struts 1.2中的dbcp BasicDataSource数据源连接的一点补充

前面的一些准备工作在下面的文章中已经叙述了:

(转)http://blog.csdn.net/ggjjzhzz/archive/2004/09/13/103346.aspx

对照上面的文章,我在tomcat 5.0.28中测试连接DB2数据库,在部署时即出错:

Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver' for connect URL 'jdbc:db2:FTPDATA'

经过在网上的google和学习,终于解决了这个问题:

1、struts-config.xml中的datasource配置

 <data-sources>
 <data-source id="DS" key="DB2" type="org.apache.commons.dbcp.BasicDataSource">
  <set-property property="driverClassName" value="COM.ibm.db2.jdbc.app.DB2Driver"/>
  <set-property property="autoCommit" value="true"/>
  <set-property property="description" value="Ftp Data Source"/>
  <set-property property="user" value="db2admin"/> 
  <set-property property="password" value="db2admin"/>
  <set-property property="url" value="jdbc:db2:FTPDATA"/> 
 </data-source>
</data-sources>

需要注意的是,struts 1.2中的property “driveClassName”在struts 1.1中是“driverClass”,别搞错了。

我用的DB2是7.2,采用的是JDBC 2.0 driver,,所以要在C:/Program Files/SQLLIB/java12的目录下运行usejdbc2.bat,同时将该目录下的db2java.zip复制到你的web-inf的lib目录下,改后缀为jar。

2、配置web.xml

在web.xml中的最后加入:

<resource-ref>
        <description>IBM DB2 Connection</description>
        <res-ref-name>jdbc/FTPDATA</res-ref-name>
        <res-type>COM.ibm.db2.jdbc.app.DB2Driver</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

说明:FTPDATA是数据源名称,在DB2 客户机配置工具中可以配置。

昨天晚上我调试时,根据网上的一些文章,加上这段resouce-ref就连通了。

但是今天早上,我不加这一段resource-ref,竟然也可以连通DB2,原以为在eclipse发布project时会在tomcat的server.xml中加入这一段resource-ref,但我在tomcat的server.xml中找不到。

所以这一点还要高手指点。

在eclipse 3.0的J2EE VIEW中启动apache tomcat 5.x后,第一次发布正常,可是当我修改了web.xml或其他程序再发布时,也会报类似的错:

Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver' for connect URL 'jdbc:db2:FTPDATA'

这个问题,不知是否tocmat的bug,如果每次调试都要先停止server,再发布project,再启动server,真的很麻烦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值