tomcat配置数据源

今天配属tomcat数据源,搞了一天,很是郁闷! 因为上次已经搞了一次,不过没有记录,导致了这次的不成功,这次记录一下!(连接DB2数据库)
首先要注意的一点是驱动包要和数据库的类型保持一致,如果是type4的方式连接数据库的话,db2jcc.jar要是比较新的版本(我这用的版本号未知,不过比较大,有3M,原来8.1的驱动包才1M多一点),否则会报:

com.ibm.db2.jcc.b.DisconnectException: encoding not supported!!
at com.ibm.db2.jcc.c.ab.b(ab.java:1618)
at com.ibm.db2.jcc.c.bb.ac(bb.java:4443)
at com.ibm.db2.jcc.c.bb.a(bb.java:4381)
at com.ibm.db2.jcc.c.bb.c(bb.java:4303)
at com.ibm.db2.jcc.c.bb.b(bb.java:4236)
at com.ibm.db2.jcc.c.bb.a(bb.java:4214)
at com.ibm.db2.jcc.c.bb.l(bb.java:372)
at com.ibm.db2.jcc.c.bb.d(bb.java:144)
at com.ibm.db2.jcc.c.b.Rb(b.java:1285)
at com.ibm.db2.jcc.c.b.a(b.java:1177)
at com.ibm.db2.jcc.c.b.m(b.java:945)
at com.ibm.db2.jcc.c.b.a(b.java:702)
at com.ibm.db2.jcc.c.b.<init>(b.java:305)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:162)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at jade.Db2Lab.main(Db2Lab.java:16)


开始的时候我是在admin页面上手动配置的type4的连接,具体的配置信息如下:

JNDI Name: yourDataSource
Data Source URL: jdbc:db2://IP:端口/name
JDBC Driver Class: com.ibm.db2.jcc.DB2Driver
User Name: *****
Password: ******

其他的默认即可。
然后点击:commit changes
这样的话就会在\conf\server.xml出险你配置的数据源的
具体如下:

<Resource
name="yourDataSource"
type="javax.sql.DataSource"
password="****"
driverClassName="com.ibm.db2.jcc.DB2Driver"
maxIdle="2"
maxWait="5000"
username="****"
url="jdbc:db2://IP:PORT/NAME"
maxActive="4"/>

但是仅此还是不够的,如果只是这样的话,会报:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

我也是上网搜了N多的资料,反正都是千篇一律,搞的改了很多,到最后我都不知道那些更改是必要的,而那些更改是不必要的 囧。。。。
不过还是把我的更改都给记录下来吧:
1.修改\conf\context.xml
加上上面再server.xml中生成的数据源的描述:

<Resource
name="yourDataSource"
type="javax.sql.DataSource"
password="****"
driverClassName="com.ibm.db2.jcc.DB2Driver"
maxIdle="2"
maxWait="5000"
username="****"
url="jdbc:db2://IP:PORT/NAME"
maxActive="4"/>
2.在conf\Catalina\localhost下新建一个以你的应用为名称的xml文件:
内容如下:

<Context path="/anareport" reloadable="true" >
<Resource
name="yourDataSource"
type="javax.sql.DataSource"
password="*****"
driverClassName="com.ibm.db2.jcc.DB2Driver"
maxIdle="2"
maxWait="5000"
username="******"
url="jdbc:db2://IP:port/name"
maxActive="4"/>
</Context>


这样的话,应该可以了。当时如果还不可以,就修改你应用下的web.xml文件,
在<web-app></web-app>之间加上
<resource-ref>
<description>DB Connection</description>
<res-ref-name>yourDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

如果还不可以,就在\conf目录下web.xml加上上面的东东。

到此。应该可以拉!!!!

注意: 如果有多个数据源,就配置多个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值