【问题标题】:Caused by: org.springframework.beans.PropertyBatchUpdateException: Could not load JDBC driver class [oracle.jdbc.driver.OracleDriver]原因:org.springframework.beans.PropertyBatchUpdateException:无法加载 JDBC 驱动程序类 [oracle.jdbc.driver.OracleDriver]
【发布时间】:2019-12-05 16:15:20
【问题描述】:

我正在尝试通过带有 DriverManagerDatasorce 的数据源对象创建 JDBC 连接。每次我运行我的应用程序时都会得到 ​​p>

引起:org.springframework.beans.PropertyBatchUpdateException; 嵌套的 PropertyAccessExceptions (1) 是: PropertyAccessException 1: org.springframework.beans.MethodInvocationException:属性 'driverClassName' 抛出异常;嵌套异常是 java.lang.IllegalStateException:无法加载 JDBC 驱动程序类 [oracle.jdbc.driver.OracleDriver] 异常我已将 ojdbc6 jar 添加到 我的类路径即使遇到此异常

...任何建议我错过了什么。

我也尝试了 basicDataSource 并且仍然相同...我需要在服务器中安排任何配置才能获得连接。

引起:org.springframework.beans.PropertyBatchUpdateException;嵌套的 PropertyAccessExceptions (1) 是: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' 抛出异常;嵌套异常是 java.lang.IllegalStateException: 无法加载 JDBC 驱动程序类 [oracle.jdbc.driver.OracleDriver]

这是我的配置:

<bean id="datasource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property> 
<property name="url" value="jdbc:oracle:thin:localhost:1521:orcl"></property> <property name="username" value="SCOTT"></property>
 <property name="password" value="34268"></property> 
</bean>

【问题讨论】:

  • 您应该使用oracle.jdbc.OracleDriver,这是假设您实际上在类路径上有驱动程序。
  • 这是我的 xml 配置
  • 属性>
  • 请在问题中添加配置,而不是在评论中。
  • 你是否为ojdbc6添加了maven依赖

标签: java spring spring-mvc spring-jdbc


【解决方案1】:

终于找到了... 通过在我的服务器中启用连接池成功连接到数据库。 在服务器 context.xml 中添加以下配置,并将 ojdbc jar 放在服务器 lib 文件夹中。

感谢您的努力和时间....:))

<Resource name="DSJNDI" type="javax.sql.DataSource"
        authenticate="container"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@localhost:1521:orcl" username="SCOTT"
        password="34268" maxActiver="20" maxIdle="10"
validationQuery="SELECT SYSDATE FROM DUAL" />

【讨论】:

    【解决方案2】:

    您可以通过添加以下测试代码来检查驱动程序是否在项目中找到,

    try {
     Class.forName("oracle.jdbc.driver.OracleDriver");
      //on classpath
    } catch(ClassNotFoundException e) {
    // not on classpath
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-28
      • 2021-08-23
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 2012-03-18
      • 2017-05-17
      相关资源
      最近更新 更多