Getting R2dbcNonTransientResourceException: Unsupported Oracle JDBC Driver version: 19


I am trying to set up R2DBC for my Spring Boot app which has Oracle 19c as the database and configured with OJDBC8 and Java 11. R2DBC version is 0.1.0. I’m getting following error as the application fails to start. Does rRDBC work with Oracle 19c or does it need to be Oracle 21x?

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myr2dbccon': Unexpected exception during bean creation; nested exception is io.r2dbc.spi.R2dbcNonTransientResourceException: Unsupported Oracle JDBC Driver version: 19
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at$doGetBean$0( ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-context-5.3.9.jar!/:5.3.9]
    at ~[spring-context-5.3.9.jar!/:5.3.9]
    at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh( ~[spring-boot-2.5.2.jar!/:2.5.2]
    at org.springframework.boot.SpringApplication.refresh( ~[spring-boot-2.5.2.jar!/:2.5.2]
    at org.springframework.boot.SpringApplication.refreshContext( ~[spring-boot-2.5.2.jar!/:2.5.2]
    at ~[spring-boot-2.5.2.jar!/:2.5.2]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke( ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( ~[?:?]
    at java.lang.reflect.Method.invoke( ~[?:?]
Caused by: io.r2dbc.spi.R2dbcNonTransientResourceException: Unsupported Oracle JDBC Driver version: 19
    at oracle.r2dbc.impl.ReactiveJdbcAdapter.getOracleAdapter( ~[oracle-r2dbc-0.1.0.jar!/:0.1.0]
    at oracle.r2dbc.impl.OracleConnectionFactoryImpl.<init>( ~[oracle-r2dbc-0.1.0.jar!/:0.1.0]
    at oracle.r2dbc.impl.OracleConnectionFactoryProviderImpl.create( ~[oracle-r2dbc-0.1.0.jar!/:0.1.0]
    at io.r2dbc.spi.ConnectionFactories.find( ~[r2dbc-spi-0.8.5.RELEASE.jar!/:?]
    at io.r2dbc.spi.ConnectionFactories.get( ~[r2dbc-spi-0.8.5.RELEASE.jar!/:?]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]
    at ~[spring-beans-5.3.9.jar!/:5.3.9]


The error is about the Oracle JDBC driver version, not about your Oracle version. The Oracle R2DBC driver relies on specific features in the Oracle JDBC driver, and those features are only available in newer driver versions, and then only in the Java 11 (or higher) version of the driver (i.e. ojdbc11, not ojdbc8).

According to, the latest Oracle R2DBC driver requires the Oracle JDBC 21.3 driver.

It also says:

The Oracle R2DBC Driver has been verified with Oracle Database
versions 18, 19, and 21.

To be clear, the Oracle JDBC 21.3 driver works fine with Oracle 19c, and so does R2DBC.

In short, you need to update your Oracle JDBC driver to:


Answered By – Mark Rotteveel

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published