jax-ws - 无法为连接 URL 'null' Tomcat 9、Oracle 12c、JDK 8 创建类 '' 的 JDBC 驱动程序,
问题描述
我有一个简单的 Web 服务,它试图打开与数据库的连接。
我正在使用 jax-ws、Oracle 12c DB、Tomcat 9、Java 8。
谁能发布正确的方法来做到这一点?
到目前为止,我已经将 ojdbc7.jar 和 ucp.jar 下载到 $TOMCAT_HOME/lib 目录中。
- applicationPath/META-INF/web.xml 中有什么?
现在我有以下内容:
<resource-ref>
<res-ref-name>jdbc/UCPPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
- TOMCAT_HOME/conf/server.xml 中有什么?
现在我有以下内容:
<context docbase="demods" path="/demods" reloadable="true">
<Resource
name="jdbc/UCPPool"
auth="Container"
factory="oracle.ucp.jdbc.PoolDataSourceImpl"
type="oracle.ucp.jdbc.PoolDataSource"
description="Pas testing UCP Pool in Tomcat"
connectionFactoryClassName="oracle.jdbc.pool.OracleDataSource"
minPoolSize="2"
maxPoolSize="5"
inactiveConnectionTimeout="20"
user="test"
password="test"
url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracleDB12c)(PORT=1563))(CONNECT_DATA=(SERVICE_NAME=PPS)))"
connectionPoolName="UCPPool"
validateConnectionOnBorrow="true"
sqlForValidateConnection="select 1 from DUAL" />
</context>
TOMCAT_HOME/conf/context.xml 中有什么?
我现在在这个文件中没有任何内容。
这是我用来设置 JDBC 连接的代码:
Context ctx = new InitialContext();
Context envContext = (Context) ctx.lookup("java:comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/UCPPool");
Connection conn = null;
try {
conn = ds.getConnection();
}
catch (SQLException e) {
return e.getMessage();
}
Web 服务返回的消息是:
"Cannot create JDBC driver of class '' for connect URL 'null'"
我究竟做错了什么?
提前致谢!
解决方案
您可以看一下github 示例并按照它来构建您的 Tomcat 应用程序吗?
推荐阅读
- python - 破折号回调函数中未固定的过滤器集
- java - 我们是否应该在 kubernetes 容器中设置 -Xmx(最大 Java 堆大小)
- node.js - 如何从 ssl 网站通过 https 加载 socketio?
- sql - 带有母子表选择的 Oracle 选择到 XML
- excel - 替换同一工作表上日期的多个值
- reactjs - 如何添加将现有用户帐户与 google Oauth 帐户与 next-auth 的链接?
- powerbi - 在 powerbi 中检测到循环依赖
- php - 在 WooCommerce 中单击添加到购物车后显示数量按钮
- python - AI - Pycharm 上的大睡眠
- go - 如何调试依赖树?