Tomcat、Java 和 Oracle9。org.apache.naming.NamingContext 查找

gor*_*613 0 java oracle jdbc tomcat7

我正在使用 Tomcat 和 Java(通过 Eclipse)和 Oracle 数据库 9.2.1

我正进入(状态

org.apache.naming.NamingContext lookup
WARNING: Unexpected exception resolving reference
java.sql.SQLException: oracle.jdbc.OracleDriver
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver
(PooledConnection.java:243)
Run Code Online (Sandbox Code Playgroud)

我的代码是

上下文.xml

<Resource type="javax.sql.DataSource" auth="Container"
name="jdbc/charmDB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:db"
username="db" password="db" maxActive="20" maxIdle="10"  
/>

<Resource name="jdbc/charmDB" auth="Container"
type="javax.sql.DataSource"
description="My Database"/>
Run Code Online (Sandbox Code Playgroud)

Java代码

InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/charmDB");
Connection con = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)

有谁知道出了什么问题?

谢谢!

Ola*_*laf 5

您的 context.xml 似乎有两个同名的资源:jdbc/charmDB。

先尝试解决这个问题。

编辑:确保您的 Oracle JDBC 驱动程序 jar 位于 Tomcat lib 目录中。

  • 谢谢你。我确实缺少 Oracle JDBC 驱动程序 Jar。【为了在使用Eclipse时将其添加到Tomcat实例中,则需要双击服务器,然后选择“打开启动配置”。然后单击“ClassPath”,然后单击“Add External JARS”] (2认同)