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 26.1 fails on project stage command with java.lang.StringIndexOutOfBoundsException

GiliamBApr 7 2026 — edited Apr 9 2026

Since SQLcl 26.1.0.0 - 26.1.0.84.2133 - Project stage fails on first try with a Java error. I am just trying to upgrade SQLcl and doing an export/stage to reflect changes due to this new SQLcl version…

It seems like the new file name convention for object grants is exceeding its character limits too soon..

Edit: probably related with SQLcl 25.4.1 project stage StringIndexOutOfBoundsException - Oracle Forums but not sure.

/dev/null -> src/database/schema_name/object_grants/object_grants_as_grantor.schema_name.package_spec.package_name_a.to_schema_name.sql

ERROR: An error has occurred processing your request:
java.lang.StringIndexOutOfBoundsException: Range [47, -1) out of bounds for length 59
        at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
        at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
        at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
        at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
        at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
        at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
        at java.base/java.lang.String.substring(String.java:2823)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.export.DbObj.order(DbObj.java:116)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.export.DbObj.order(DbObj.java:71)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.sorters.AbstractChangeLogSorter.sort(AbstractChangeLogSorter.java:46)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.services.StageChangelogService.saveController(StageChangelogService.java:653)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.services.StageChangelogService.sortChangeLogs(StageChangelogService.java:432)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.StageUtils.stageStartProcessing(StageUtils.java:616)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.StageCommand.run(StageCommand.java:112)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.handler.CommandHandler.StageCommand(CommandHandler.java:59)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.handler.ProjectCommand.handleEvent(ProjectCommand.java:88)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.util.command.ParsedCommandListener.handleEvent(ParsedCommandListener.java:66)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.lambda$fireListeners$4(CommandRegistry.java:485)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:839)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.runWithStoredContext(CommandRegistry.java:705)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.fireListeners(CommandRegistry.java:463)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunner.lambda$run$0(ScriptRunner.java:241)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:839)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:124)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:364)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:245)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:1512)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:1756)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:363)
        at com.oracle.dbtools.sqlcl.app@26.1.0/com.oracle.dbtools.sqlcl.app.DatabaseToolsSqlCommandLineApp.run(DatabaseToolsSqlCommandLineApp.java:28)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.CommandLineInterface$Definition.lambda$invoker$1(CommandLineInterface.java:776)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.actions.Actions$ImmutableRegistration.callIfMatches(Actions.java:351)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.actions.Actions.dispatch(Actions.java:91)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.CommandLineInterface.dispatch(CommandLineInterface.java:254)
        at com.oracle.dbtools.app@26.1.0/com.oracle.dbtools.app.DatabaseToolsApplication.main(DatabaseToolsApplication.java:49)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell.lambda$execute$0(Shell.java:155)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell$ShutdownHandler.execute(Shell.java:310)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell.execute(Shell.java:155)
        at com.oracle.dbtools.app@26.1.0/com.oracle.dbtools.app.DatabaseToolsApplication.main(DatabaseToolsApplication.java:36)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at oracle.dbtools.module.support@26.1.0/oracle.dbtools.module.api.Modules$MainClass.lambda$mainMethod$0(Modules.java:386)
        at oracle.dbtools.module.support@26.1.0/oracle.dbtools.module.api.Modules.run(Modules.java:83)
        at com.oracle.dbtools.launch@26.1.0/com.oracle.dbtools.launch.DatabaseToolsLaunch.main(DatabaseToolsLaunch.java:32)

oracle.dbtools.extension.project.core.exceptions.ChangeLogServiceException: java.lang.StringIndexOutOfBoundsException: Range [47, -1) out of bounds for length 59
        at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
        at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
        at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
        at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
        at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
        at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
        at java.base/java.lang.String.substring(String.java:2823)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.export.DbObj.order(DbObj.java:116)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.export.DbObj.order(DbObj.java:71)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.sorters.AbstractChangeLogSorter.sort(AbstractChangeLogSorter.java:46)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.services.StageChangelogService.saveController(StageChangelogService.java:653)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.services.StageChangelogService.sortChangeLogs(StageChangelogService.java:432)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.StageUtils.stageStartProcessing(StageUtils.java:616)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.StageCommand.run(StageCommand.java:112)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.handler.CommandHandler.StageCommand(CommandHandler.java:59)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.handler.ProjectCommand.handleEvent(ProjectCommand.java:88)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.util.command.ParsedCommandListener.handleEvent(ParsedCommandListener.java:66)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.lambda$fireListeners$4(CommandRegistry.java:485)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:839)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.runWithStoredContext(CommandRegistry.java:705)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.fireListeners(CommandRegistry.java:463)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunner.lambda$run$0(ScriptRunner.java:241)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:839)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:124)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:364)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:245)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:1512)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:1756)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:363)
        at com.oracle.dbtools.sqlcl.app@26.1.0/com.oracle.dbtools.sqlcl.app.DatabaseToolsSqlCommandLineApp.run(DatabaseToolsSqlCommandLineApp.java:28)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.CommandLineInterface$Definition.lambda$invoker$1(CommandLineInterface.java:776)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.actions.Actions$ImmutableRegistration.callIfMatches(Actions.java:351)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.actions.Actions.dispatch(Actions.java:91)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.CommandLineInterface.dispatch(CommandLineInterface.java:254)
        at com.oracle.dbtools.app@26.1.0/com.oracle.dbtools.app.DatabaseToolsApplication.main(DatabaseToolsApplication.java:49)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell.lambda$execute$0(Shell.java:155)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell$ShutdownHandler.execute(Shell.java:310)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell.execute(Shell.java:155)
        at com.oracle.dbtools.app@26.1.0/com.oracle.dbtools.app.DatabaseToolsApplication.main(DatabaseToolsApplication.java:36)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at oracle.dbtools.module.support@26.1.0/oracle.dbtools.module.api.Modules$MainClass.lambda$mainMethod$0(Modules.java:386)
        at oracle.dbtools.module.support@26.1.0/oracle.dbtools.module.api.Modules.run(Modules.java:83)
        at com.oracle.dbtools.launch@26.1.0/com.oracle.dbtools.launch.DatabaseToolsLaunch.main(DatabaseToolsLaunch.java:32)

        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.services.StageChangelogService.saveController(StageChangelogService.java:673)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.services.StageChangelogService.sortChangeLogs(StageChangelogService.java:432)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.StageUtils.stageStartProcessing(StageUtils.java:616)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.stage.StageCommand.run(StageCommand.java:112)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.handler.CommandHandler.StageCommand(CommandHandler.java:59)
        at oracle.dbtools.extension.project@26.1.0/oracle.dbtools.extension.project.commands.handler.ProjectCommand.handleEvent(ProjectCommand.java:88)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.util.command.ParsedCommandListener.handleEvent(ParsedCommandListener.java:66)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.lambda$fireListeners$4(CommandRegistry.java:485)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:839)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.runWithStoredContext(CommandRegistry.java:705)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.CommandRegistry.fireListeners(CommandRegistry.java:463)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunner.lambda$run$0(ScriptRunner.java:241)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:839)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:124)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:364)
        at oracle.dbtools.common@26.1.0/oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:245)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:1512)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:1756)
        at oracle.dbtools.sqlcl@26.1.0/oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:363)
        at com.oracle.dbtools.sqlcl.app@26.1.0/com.oracle.dbtools.sqlcl.app.DatabaseToolsSqlCommandLineApp.run(DatabaseToolsSqlCommandLineApp.java:28)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.CommandLineInterface$Definition.lambda$invoker$1(CommandLineInterface.java:776)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.actions.Actions$ImmutableRegistration.callIfMatches(Actions.java:351)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.actions.Actions.dispatch(Actions.java:91)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.CommandLineInterface.dispatch(CommandLineInterface.java:254)
        at com.oracle.dbtools.app@26.1.0/com.oracle.dbtools.app.DatabaseToolsApplication.main(DatabaseToolsApplication.java:49)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell.lambda$execute$0(Shell.java:155)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell$ShutdownHandler.execute(Shell.java:310)
        at com.oracle.dbtools.utils.core@26.1.0/com.oracle.dbtools.utils.core.cli.Shell.execute(Shell.java:155)
        at com.oracle.dbtools.app@26.1.0/com.oracle.dbtools.app.DatabaseToolsApplication.main(DatabaseToolsApplication.java:36)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at oracle.dbtools.module.support@26.1.0/oracle.dbtools.module.api.Modules$MainClass.lambda$mainMethod$0(Modules.java:386)
        at oracle.dbtools.module.support@26.1.0/oracle.dbtools.module.api.Modules.run(Modules.java:83)
        at com.oracle.dbtools.launch@26.1.0/com.oracle.dbtools.launch.DatabaseToolsLaunch.main(DatabaseToolsLaunch.java:32)
Comments
Post Details
Added on Apr 7 2026
3 comments
171 views