OracleDataSourceFactory 返回 null

标签 oracle tomcat

我的 Tomcat 8.0 安装无法使用 OracleDataSourceFactory 创建数据源。来自 Tomcat 的日志不是很有用:

NE: 52102734 Public Enter: ResourceRef[className=javax.sql.DataSource,factoryClassLocation=null,factoryClassName=org.apache.naming.factory.ResourceFactory,{type=scope,content=Shareable},{type=auth,content=Container},{type=singleton,content=true},{type=factory,content=oracle.jdbc.pool.OracleDataSourceFactory},{type=password,content=mypass},{type=maxIdle,content=10},{type=driverClassName,content=oracle.jdbc.OracleDriver},{type=maxWait,content=-1},{type=url,content=myUrl},{type=maxActive,content=30},{type=username,content=myUser}], DAFDataSource, org.apache.naming.NamingContext@3541cb24, {} Jun 24, 2016 10:24:27 AM oracle.jdbc.pool.OracleDataSourceFactory getObjectInstance FINE: 52102734 Return: null Jun 24, 2016 10:24:27 AM oracle.jdbc.pool.OracleDataSourceFactory getObjectInstance

当我尝试在我的代码中使用相同的设置创建 OracleDataSource 时,我能够正确地检索连接。我的出厂配置有什么问题?

最佳答案

发生这种情况的原因有多种:

    如果 server.xml 中定义的资源类型是 javax.sql.DataSource
  • OracleDataSourceFactory 返回 null。我不得不将其更改为 oracle.jdbc.pool.OracleConnectionPoolDataSource

  • 在使用 JDBC Oracle 瘦驱动程序指定 url 时,资源的用户名和密码属性被忽略

关于OracleDataSourceFactory 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38010957/

相关文章:

Oracle SQL Developer 无法启动

sql - 如何使用 SQL 打印出圣诞树?

asp.net - Oracle.DataAccess.dll 虽然存在但无法定位

apache - 从另一台连接的电脑运行 tomcat

java - 如何在同一个 tomcat 服务器上运行基于 angular2 和 spring mvc 的 rest api?

java - 如何将 Spring Bean 的生命周期与 Web 应用程序的生命周期联系起来?

tomcat - 如何使用默认参数将纯 servlet url 重定向到同一个 servlet?

sql - Oracle SQL 触发器插入/更新

oracle - SQL 开发人员错误, "disable modules and continue"

java - @Post 在 Rest 服务中接受 Json 值