Topic: 如何使tomcat下的数据库连接池可以被几个工程公用?

  Print this page

1.如何使tomcat下的数据库连接池可以被几个工程公用? Copy to clipboard
Posted by: senjoso
Posted on: 2006-12-23 19:07

我如果有两个系统要公用一个连接池,是否要把那段:

********************************
<Resource name="jdbc/hbweb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="20" maxWait="10000"
username="sa" password=" " driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=web"/>

******************************

放在tomcat下的server.xml 中的<GlobalNamingResources> </GlobalNamingResources>

之间呢?
其它地方还用改动嘛?我怎么不行.

另外如果我有两个工程.同时我也需要有两个连接池,可以实现任一个系统可以使用任一个连接池,如何做呢?
两个系统要公用一个连接池的时候.tomcat下的server.xml 中的
<Context></Context>
之间的 那段(如上)就不需要了.只用放在<GlobalNamingResources> </GlobalNamingResources>之间嘛?

请指教.

2.Re:如何使tomcat下的数据库连接池可以被几个工程公用? [Re: senjoso] Copy to clipboard
Posted by: liangx
Posted on: 2007-01-17 12:58

我也有相同的问题啊

一个关于tomcat 5.5.20 连接 sql2000 的问题

我已经下载了最新的jdbc驱动了. 并且把sqljdbc.jar拷到 TOMCAT_HOME/common/lib的目录下面
载 server.xml的配置如下

<GlobalNamingResources>
<Resource
name="jdbc/mssql"
type="javax.sql.DataSource"
maxActive="4"
maxIdle="2"
username="lx"
maxWait="5000"
validationQuery="select * from guestbook;"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
password="lx"
url="jdbc:sqlserver://localhost;databaseName=test;"/>
</GlobalNamingResources>

在例程web应用的web.xml配置如下

  <resource-ref>
    <res-ref-name>jdbc/mssql</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <description>MS SQL</description>
  </resource-ref>

但是当运行 例程web应用的时候就提示

org.apache.jasper.JasperException: javax.servlet.jsp.JspException: Cannot create JDBC driver of class '' for connect URL 'null'

程序出错的代码片段如下

    InitialContext ic=new InitialContext();
    DataSource ds=(DataSource) ic.lookup("java:comp/env/jdbc/mssql");

    Connection conn=ds.getConnection(); //这一句就出现上面提及的错误.

我的理解是:
DataSource的配置是正确的. 因为获取ds对象的时候没有出错.
在获取Connection对象的时候提示了没有找到JDBC驱动的类.而且类名称并不是在server.xml中
提供的"com.microsoft.sqlserver.jdbc.SQLServerDriver",而是一个空串.这令我十分费解.

这里请大家帮小弟指点一下迷津.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923