Skip to Main Content

SQLcl: MCP Server & SQL Prompt

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

sqlcl in 19.13 ORACLE_HOME is broken

Alexey AnisimovNov 4 2021 — edited Nov 4 2021

Hi!
After applying 19c Oct-21 PSU (ORACLE_HOME 19.13) sqlcl throws java error:

$ sql /nolog
Exception in thread "main" java.util.ServiceConfigurationError: oracle.dbtools.extension.SQLCLService: Provider oracle.dbtools.raptor.scriptrunner.commands.liquibase.liquibaseCommand could not be instantiated
        at java.util.ServiceLoader.fail(ServiceLoader.java:232)
        at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
        at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
        at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
        at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
        at oracle.dbtools.extension.SQLCLServices.registerServices(SQLCLServices.java:48)
        at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.<init>(SqlCli.java:220)
        at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:441)
Caused by: java.lang.NoClassDefFoundError: liquibase/exception/DatabaseException
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getConstructor0(Class.java:3075)
        at java.lang.Class.newInstance(Class.java:412)
        at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
        ... 5 more
Caused by: java.lang.ClassNotFoundException: liquibase.exception.DatabaseException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 10 more

sqlcl in the ORACLE_HOME 19.12 works fine.

$ sql /nolog
SQLcl: Release 19.1 Production on Thu Nov 04 09:16:35 2021
Copyright (c) 1982, 2021, Oracle.  All rights reserved.
SQL>

I've opened a SR.

Comments

vdsadhi
Answer

Hi

Why don't you use Manual Insert and Update process as per your requirement?.. Give 'Never' for Automatic Processing for DML and try to create a manual process (PL/SQL blocks) and give condition.

Thanks

Lakshmi

Marked as Answer by Manas M · Sep 27 2020
1 - 1

Post Details

Added on Nov 4 2021
7 comments
1,162 views