我刚刚使用 Tomcat 7 和 Java 8_40 创建了一个全新的 Oracle Linux 7 VM。我之前使用 Apache 和 Tomcat 创建了多台服务器,但从未连接过数据库。SELinux 和防火墙都已关闭(出于测试目的)。我似乎无法正确配置 jdbc。以下是我所拥有的:
上下文.xml:
<ResourceLink global="jdbc/JCAppsCoreDS" name="jdbc/JCAppsCoreDS" type="javax.sql.DataSource"/>
服务器.xml
<Resource name="jdbc/JCAppsCoreDS" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@//******/PROD"
username="******" password="*****"
initialSize="5" maxActive="100" maxIdle="-1" maxWait="30"
validationQuery="select 1 from dual"
testOnBorrow="true"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" />
当然,***** 指的是实际物品。当我尝试访问我的应用程序的 URL 时,我得到了:
命名异常 连接数据库时出错:javax.naming.NameNotFoundException:名称 [jdbc/JCAppsCoreDS] 未绑定在此上下文中。无法找到 [jdbc]。
据我所知,我的配置是正确的,但仍然出现错误。有人有什么想法吗?另外,我没有在日志中看到太多有关此错误的信息。有人知道哪些日志以及我需要在哪里增加日志级别吗?我把它们弄乱了一点,但无法获得更多信息。
谢谢!
答案1
您是否配置了资源引用web.xml
?
<resource-ref>
<res-ref-name>jdbc/JCAppsCoreDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
答案2
不过,我们昨天才弄清楚这个问题,我们试图从 weblogic 移动到 tomcat 的应用程序以 weblogic 可以识别的方式调用数据库,但 tomcat 不能。我们将编辑数据库调用并使用 spring,希望一切能够协同工作。不过还是感谢您的提示!