我正在新盒子上部署一个旧应用程序。第一次点击数据库时我得到了
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>
感谢。
答案 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。性能也好一点!