【发布时间】:2010-12-22 00:32:11
【问题描述】:
我一直很难让 JNDI 数据源工作。按照说明在 http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html 我正在使用 Tomcat5.5 连接到 oracle 如果我在代码中使用直接的 JDBC 连接,我可以正常连接。
这是我所拥有的: 在我的 META-INF/context.xml 中:
<Resource name="jdbc/mydb" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:theserver:1521/mydb"
username="user" password="password" maxActive="20" maxIdle="10"
/>
这是 web.xml 中的内容:
<resource-ref>
<description>please work</description>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>Container</res-auth>
</resource-ref>
代码如下:
Connection conn = null;
try{
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/mydb");
conn = ds.getConnection();
} catch ....... etc.
我尝试了许多不同的配置并开始了一个新的简单项目,以确保没有额外的 jar 文件发生冲突或类似的事情,但是。
任何人都可以看到任何看起来不正确的东西吗?
当我尝试使用 conn 对象时,服务器上的错误指示 NullPointerException。 对不起,它首先提供:org.apache.tomcat.dbcp.dbcp.SQLNestedException:无法创建 PoolableConnectionFactory(Io 异常:网络适配器无法建立连接)
【问题讨论】:
标签: java tomcat datasource jndi