【问题标题】:java.sql.SQLException: No suitable driver on tomcat 8.5java.sql.SQLException:tomcat 8.5 上没有合适的驱动程序
【发布时间】:2018-11-22 08:49:09
【问题描述】:

当我在 eclipse 上的 tomcat 上启动应用程序时出现异常。

版本

ojdbc7-12.1.0.1.jar    
apache-tomcat-8.5.31
jdk-8u172-windows-x64

弹簧配置

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
     <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
     <property name="url" value="${database.connection.url}" />
     <property name="username" value="${database.user}" />
     <property name="password" value="${database.pwd}" />
     <property name="initialSize" value="${database.pool.initialSize}" />
     <property name="maxTotal" value="${database.pool.maxTotal}" />
     <property name="maxIdle" value="${database.pool.maxIdle}" />
     <property name="minIdle" value="${database.pool.minIdle}" />
     <property name="maxWaitMillis" value="${database.pool.maxWaitMillis}" />
</bean>

属性

database.user=dev
database.pwd=dev
database.connection.url=jdbc:oracle:thin@X.X.X.X:1521:DATABASE

例外:

Caused by: org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
Caused by: java.sql.SQLException: Cannot create JDBC driver of class 'oracle.jdbc.OracleDriver' for connect URL 'jdbc:oracle:thin@X.X.X.X:1521:DATABASE'
    at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2161)
Caused by: java.sql.SQLException: No suitable driver
    at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2152)

我试图将驱动jar放到tomcat的lib文件夹中,但同样的错误

我在 Wildfly 10.1 上也遇到了错误。

【问题讨论】:

  • 尝试使用:'"jdbc:oracle:thin@//X.X.X.X:1521/DATABASE"
  • oracle.jdbc.driver.OracleDriver 和 oracle.jdbc.OracleDriver 有同样的问题
  • 您的网址中有错字,thin 后面缺少一个冒号 (:)。应该是jdbc:oracle:thin:@X.X.X.X:1521:DATABASE。另见stackoverflow.com/questions/1054105/…
  • @MarkRotteveel 谢谢,添加冒号 (:) 后效果很好

标签: java spring oracle tomcat jdbc


【解决方案1】:

我看到您指的是 Oracle 7 jar 中的错误包。 使用OracleDriver类名如下oracle.jdbc.driver.OracleDriver

<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />

您可以随时打开 jar 并找到 OracleDriver 的类:

请参考此图片查看 OracleDriver 类路径

【讨论】:

  • 我在使用 oracle.jdbc.driver.OracleDriver 类时遇到了同样的错误
  • 除了 ojdbc 类之外,我看不到您的代码有任何问题。你能确认“database.connection.url=jdbc:oracle:thin@X.X.X.X:1521:DATABASE” DATABASE 是服务名还是 SID?请使用更新的 Ojdbc 类再次粘贴异常
  • 数据库是 SID
  • 能不能再粘贴一下异常
  • 无法为连接 URL 'jdbc:oracle:thin@XXXX:1521:DATABASE' java.sql.SQLException 创建类 'oracle.jdbc.driver.OracleDriver' 的 JDBC 驱动程序:没有合适的驱动程序跨度>
猜你喜欢
  • 1970-01-01
  • 2021-10-14
  • 2020-06-25
  • 2013-12-21
  • 1970-01-01
  • 2021-08-04
  • 2019-01-10
  • 2020-04-02
  • 2021-07-13
相关资源
最近更新 更多