0

I connected my Liquibase to My Oracle (OCI Cloud) Database using REST JDBC driver (https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/).

I have ORDS and rest enabled schema.

SQLcl Liquibase

I can, without problems, connect to it with SQLcl and run queries (through REST JDBC driver) But, when I try to run, e.g. "lb status" command, I receive an error message "Method getSchema() in ORest connection not supported."

Core Liquibase

In my properties file, I defined "driver: oracle.dbtools.jdbc.Driver", and I have this driver in my liquibase/lib directory. When I run, e.g. "liquibase status" command, I receive an error:

Unexpected error running Liquibase: oracle/dbtools/http/SessionException
  - Caused by: oracle.dbtools.http.SessionException

java.lang.NoClassDefFoundError: oracle/dbtools/http/SessionException
        at oracle.dbtools.jdbc.Driver.connect(Driver.java:54)
        at liquibase.database.jvm.JdbcConnection.open(JdbcConnection.java:83)
        at com.datical.liquibase.ext.database.jvm.ProJdbcConnection.open(Unknown Source)
        at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:32)
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:217)
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:178)
        at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:143)
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:93)
        at liquibase.integration.commandline.Main.doMigration(Main.java:1484)
        at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:396)
        at liquibase.Scope.lambda$child$0(Scope.java:180)
        at liquibase.Scope.child(Scope.java:189)
        at liquibase.Scope.child(Scope.java:179)
        at liquibase.Scope.child(Scope.java:158)
        at liquibase.integration.commandline.Main$1.run(Main.java:395)
        at liquibase.integration.commandline.Main$1.run(Main.java:217)
        at liquibase.Scope.child(Scope.java:189)
        at liquibase.Scope.child(Scope.java:165)
        at liquibase.integration.commandline.Main.run(Main.java:217)
        at liquibase.command.AbstractCliWrapperCommandStep.run(AbstractCliWrapperCommandStep.java:33)
        at liquibase.command.CommandScope.execute(CommandScope.java:172)
        at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:55)
        at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:24)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
        at picocli.CommandLine.execute(CommandLine.java:2170)
        at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$1(LiquibaseCommandLine.java:352)
        at liquibase.Scope.child(Scope.java:189)
        at liquibase.Scope.child(Scope.java:165)
        at liquibase.integration.commandline.LiquibaseCommandLine.execute(LiquibaseCommandLine.java:317)
        at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:84)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at liquibase.integration.commandline.LiquibaseLauncher.main(LiquibaseLauncher.java:107)
Caused by: java.lang.ClassNotFoundException: oracle.dbtools.http.SessionException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)








rgrzegorczyk
  • 41
  • 1
  • 4
  • Ok, I'll self-answer. I received a response from Jeff Smith (Oracle) So, it's not possible for now. Maybe in the future. More details in messages on Twitter https://twitter.com/r_grzegorczyk/status/1610233567979917313 – rgrzegorczyk Jan 09 '23 at 10:31

0 Answers0