PoolableConnectionFactory无效的句柄

时间:2009-08-14 18:05:05

标签: java tomcat

我正在新盒子上部署一个旧应用程序。第一次点击数据库时我得到了

File input error: Cannot create PoolableConnectionFactory (Invalid handle)

我在context.xml中设置了我的资源,使用unixODBC设置了我的dsn,在web.xml中设置了我的resource-ref。我还缺少什么?

from content.xml -->

<Resource name="jdbc/MoleComp" auth="Container"
type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="-1"
removeAbandoned="false" removeAbandonedTimeout="60"
username="userName" password="passWord" 
driverClassName="sun.jdbc.odbc.JdbcOdbcDriver" 
url="jdbc:odbc:DSNName"/>

from app/WEB-INF/web.xml -->

<resource-ref>
    <description>DB connection</description>
    <res-ref-name>jdbc/MoleComp</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

感谢。

2 个答案:

答案 0 :(得分:0)

首先,您应该删除&lt; resource-def&gt;来自web.xml。这只是定义数据源的另一种方法,您已经在context.xml中完成了。

该错误来自ODBC-JDBC桥驱动程序。因此,ODBC未运行或url="jdbc:odbc:DSNName"无效。

答案 1 :(得分:0)

在另一台服务器上遇到此问题后,我将应用程序从使用unixODBC和odbc.jdbc切换到java类型4驱动程序jTDS jtds.jdbc。性能也好一点!