开发者社区> 问答> 正文

druid我log4jdbc一起使用的是后会出现not support oracle driver

default.driver=net.sf.log4jdbc.DriverSpy default.url=jdbc:log4jdbc:oracle:thin:@127.0.0.1:1521:orcl default.driver=oracle.jdbc.OracleDriver default.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl

用上面的驱动就会报错 下面的就可以 ojdbc14_10.2.0.5.jar 驱动版本是这个 数据库是10GR2

原提问者GitHub用户strivezsh

展开
收起
山海行 2023-07-05 22:01:06 243 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    使用Log4jdbc和Druid连接池时可能会发生"not support oracle driver"的错误,这是因为Log4jdbc依赖于JDBC驱动程序的特定实现,而Druid连接池默认使用的是自带的DruidDataSource,无法与Log4jdbc兼容。为了解决这个问题,可以按照以下步骤进行操作:

    将Log4jdbc的JDBC驱动程序添加到Druid连接池的classpath中。具体来说,需要将log4jdbc的jar包和对应的JDBC驱动程序的jar包添加到Druid连接池的classpath中,以便在运行时能够加载这些类。

    配置Druid连接池使用Log4jdbcDataSource。通过配置Druid连接池使用Log4jdbcDataSource,可以将Log4jdbc和Druid连接池集成起来。以下是一个简单的示例代码:

    reasonml
    Copy
    // 创建Log4jdbcDataSource
    Log4jdbcProxyDataSource dataSource = new Log4jdbcProxyDataSource();
    dataSource.setDataSource(new DruidDataSource());
    dataSource.setLogFormatter(new PrettyPrintLogFormatter());

    // 配置Druid连接池
    DruidDataSource druidDataSource = new DruidDataSource();
    druidDataSource.setUrl("jdbc:log4jdbc:oracle:thin:@localhost:1521:ORCL");
    druidDataSource.setUsername("username");
    druidDataSource.setPassword("password");
    druidDataSource.setDriverClassName("net.sf.log4jdbc.DriverSpy");
    druidDataSource.setProxyFilters(Collections.singletonList(dataSource));

    // 获取连接
    Connection connection = druidDataSource.getConnection();
    在上述代码中,首先创建了一个Log4jdbcProxyDataSource,用于将Log4jdbc和Druid连接池集成起来。然后,通过配置DruidDataSource,将Log4jdbcProxyDataSource作为Druid连接池的代理过滤器。最后,通过DruidDataSource获取连接。

    2023-07-29 23:28:38
    赞同 展开评论 打赏
  • 你更新一下oracle jdbc driver吧 http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html

    原回答者GitHub用户wenshao

    2023-07-06 12:31:33
    赞同 展开评论 打赏
  • 根据您提供的信息,使用druidlog4jdbc一起时出现了不支持Oracle驱动程序的错误。

    这个问题可能是由于驱动程序版本不兼容导致的。根据您提供的信息,您尝试使用了两个不同的驱动程序:net.sf.log4jdbc.DriverSpyoracle.jdbc.OracleDriver

    通常情况下,log4jdbc是一个用于监控和记录JDBC调用的工具,并且需要与特定的JDBC驱动程序一起配合使用。而oracle.jdbc.OracleDriver是Oracle官方提供的JDBC驱动程序。

    在您的情况下,如果您要同时使用druidlog4jdbc,建议您使用适用于Oracle数据库的log4jdbc驱动程序,例如net.sf.log4jdbc.DriverSpy。您可以将ojdbc14_10.2.0.5.jar作为log4jdbc的驱动程序使用,配置如下:

    default.driver=net.sf.log4jdbc.DriverSpy default.url=jdbc:log4jdbc:oracle:thin:@127.0.0.1:1521:orcl 请确保ojdbc14_10.2.0.5.jar文件已经正确地添加到您的项目中,并且在类路径中可用。

    2023-07-06 09:16:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像