OracleR2dbcException: [604] [60000] ORA-00604: ошибка на рекурсивном SQL-уровне 1 ORA-01756: нет завершающей кавычки при соединении Oracle и R2DBC
@Configuration
@Profile("dev")
@EnableR2dbcRepositories
public class DbConfigsDev extends AbstractR2dbcConfiguration {
@Bean
@Override
public ConnectionFactory connectionFactory() {
return new OracleConnectionFactoryProviderImpl()
.create(ConnectionFactoryOptions.builder()
.option(ConnectionFactoryOptions.HOST, "localhost")
.option(ConnectionFactoryOptions.PORT, 1521)
.option(ConnectionFactoryOptions.DATABASE, "orcl.local")
.option(ConnectionFactoryOptions.USER, "C##TESTUSER")
.option(ConnectionFactoryOptions.PASSWORD, "testpassword")
.option(Option.valueOf("oracle.net.CONNECT_TIMEOUT"), 5000)
.option(Option.valueOf("oracle.jdbc.ReadTimeout"), 5000)
.build());
}
}
и репозиторий
@Repository
@RequiredArgsConstructor
public class EcologyRepository {
final ConnectionFactory connectionFactory;
@SneakyThrows
public Mono<EcologyConsumer> fetchDataByCadastre(String cadastre) {
Mono.from(connectionFactory.create())
.flatMapMany(connection ->
Flux.from(connection.createStatement("SELECT 'Hello, Oracle' FROM sys.dual")
.execute())
.flatMap(result ->
result.map((row, metadata) -> row.get(0, String.class)))
.concatWith(Mono.from(connection.close()).cast(String.class)))
.subscribe(System.out::println);
return Mono.empty();
}
}
но в итоге получаю:
reactor.core.Exceptions$ErrorCallbackNotImplemented: oracle.r2dbc.impl.OracleR2dbcExceptions$OracleR2dbcException: [604] [60000] ORA-00604: ошибка на рекурсивном SQL-уровне 1 ORA-01756: нет завершающей кавычки
ЗЫ. как я понимаю проблема в соединении, но как правильно это готовить?
Заранее благодарен!