Loading

Database connector error - 'java.lang.IndexOutOfBoundsException: Index 7 out of bounds for length 7' while using Oracle date type column.

Publish Date: May 26, 2025
Description

The user encountered an issue with a bulk insert query involving an Oracle date type column. The application throws an error indicating that the query could not be resolved. 

When using TO_DATE(:CREATEDDATE, 'YYYY-MM-DD')) with the database bulk insert connector, we get the following error: "Could not resolve the query" in the studio and in the log file we can see: 

********************************************************************************
Message               : Could not resolve query: IINSERT INTO TABLE (
    COL_A, COL_B, COL_G
) VALUES (
    :COL_A, :COL_B, TO_DATE(:COL_G, 'YYYY-MM-DD')
)
Element               : insert-implFlow/processors/3/processors/0/processors/0 @ app.xml:31 (Bulk insert)
Element DSL           : <db:bulk-insert doc:name="Bulk insert" doc:id="1111111-aaaa-11aa-" config-ref="Database_Config">
<db:sql><![CDATA[#[vars.insertQuery]]]></db:sql>
</db:bulk-insert>
Error type            : MULE:UNKNOWN
FlowStack             : at insert-implFlow(insert-implFlow/processors/3/processors/0/processors/0 @appl.xml:31 (Bulk insert))
at post:\records:application\json:app(post:\records:application\json:app/processors/2/route/0/processors/0 @app.xml:162 (Invoke Insert Impl Flow))
at app(app/processors/4 @ app.xml:43)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.lang.IndexOutOfBoundsException: Index 7 out of bounds for length 7

at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
    at java.base/java.util.Objects.checkIndex(Objects.java:361)
    at java.base/java.util.ArrayList.remove(ArrayList.java:504)
    at oracle.jdbc.driver.OracleParameterMetaDataParser.getParameterMetaDataSqlForInsert(OracleParameterMetaDataParser.java:848)
    at oracle.jdbc.driver.OracleParameterMetaDataParser.getParameterMetaDataSql_internal(OracleParameterMetaDataParser.java:604)
    at oracle.jdbc.driver.OracleParameterMetaDataParser.getParameterMetaDataSql(OracleParameterMetaDataParser.java:1500)
    at oracle.jdbc.driver.OracleParameterMetaData.parseAndQuery(OracleParameterMetaData.java:266)
    at oracle.jdbc.driver.OracleParameterMetaData.checkValidIndex(OracleParameterMetaData.java:767)
    at oracle.jdbc.driver.OracleParameterMetaData.getParameterType(OracleParameterMetaData.java:921)
    at org.mule.db.commons.shaded.internal.resolver.param.QueryParamTypeResolver.getParameterTypes(QueryParamTypeResolver.java:59)
    at org.mule.db.commons.shaded.internal.resolver.param.DefaultParamTypeResolver.getParamTypesUsingMetadata(DefaultParamTypeResolver.java:65)
    at org.mule.db.commons.shaded.internal.resolver.param.DefaultParamTypeResolver.getParameterTypes(DefaultParamTypeResolver.java:45)
    at org.mule.db.commons.shaded.internal.resolver.query.AbstractQueryResolver.getParameterTypes(AbstractQueryResolver.java:83)
    at org.mule.db.commons.shaded.internal.resolver.query.AbstractQueryResolver.createQueryTemplate(AbstractQueryResolver.java:69)
    at org.mule.db.commons.shaded.internal.resolver.query.AbstractQueryResolver.lambda$getQueryTemplate$0(AbstractQueryResolver.java:92)
    at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2406)
    at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
    at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2404)
    at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2387)
    at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
    at com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
    at org.mule.db.commons.shaded.internal.resolver.query.AbstractQueryResolver.getQueryTemplate(AbstractQueryResolver.java:91)
    at org.mule.db.commons.shaded.internal.resolver.query.AbstractQueryResolver.resolve(AbstractQueryResolver.java:54)
    at org.mule.db.commons.shaded.internal.resolver.query.BulkQueryResolver.resolve(BulkQueryResolver.java:36)
    at org.mule.db.commons.shaded.internal.operation.BulkOperations.resolveQuery(BulkOperations.java:213)
    at org.mule.db.commons.shaded.internal.operation.BulkOperations.singleQueryBulk(BulkOperations.java:198)
    at org.mule.db.commons.shaded.internal.operation.BulkOperations.bulkInsert(BulkOperations.java:107)
    at org.mule.extension.db.internal.operation.DbBulkOperations.bulkInsert(DbBulkOperations.java:75)
    at org.mule.extension.db.internal.operation.DbBulkOperations$bulkInsert$MethodComponentExecutor_s_wss_db_blmbrgsoa_api_v1.execute(Unknown Source)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.execution.GeneratedMethodComponentExecutor.execute(GeneratedMethodComponentExecutor.java:94)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.execution.CompletableMethodOperationExecutor.doExecute(CompletableMethodOperationExecutor.java:26)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.execution.AbstractCompletableMethodOperationExecutor.execute(AbstractCompletableMethodOperationExecutor.java:61)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.executeCommand(DefaultExecutionMediator.java:254)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.lambda$executeWithInterceptors$6(DefaultExecutionMediator.java:235)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.lambda$executeWithRetry$2(DefaultExecutionMediator.java:211)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.Functions.lambda$toCtxSupplier$15(Functions.java:298)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.Functions.lambda$getPromiseOfStage$7(Functions.java:174)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.Functions.lambda$null$3(Functions.java:107)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.util.rx.ConditionalExecutorServiceDecorator.synchronousSchedule(ConditionalExecutorServiceDecorator.java:181)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.util.rx.ConditionalExecutorServiceDecorator.schedule(ConditionalExecutorServiceDecorator.java:167)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.Functions.lambda$getPromiseAsync$5(Functions.java:116)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.RetryPolicyExecutor$1.call(RetryPolicyExecutor.java:116)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.RetryPolicyExecutor.lambda$supplyAsync$1(RetryPolicyExecutor.java:168)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.AsyncExecution.executeAsync(AsyncExecution.java:184)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.FailsafeExecutor.callAsync(FailsafeExecutor.java:414)
    at net.jodah.failsafe@2.4.4/net.jodah.failsafe.FailsafeExecutor.getStageAsync(FailsafeExecutor.java:158)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.retry.policies.SimpleRetryPolicy.applyPolicy(SimpleRetryPolicy.java:95)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.api.retry.policy.RetryPolicyTemplate.applyPolicy(RetryPolicyTemplate.java:145)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.executeWithRetry(DefaultExecutionMediator.java:209)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.executeWithInterceptors(DefaultExecutionMediator.java:235)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.lambda$execute$1(DefaultExecutionMediator.java:144)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.execution.ExecuteCallbackInterceptor.execute(ExecuteCallbackInterceptor.java:15)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.execution.BeginAndResolveTransactionInterceptor.execute(BeginAndResolveTransactionInterceptor.java:80)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.execution.SuspendXaTransactionInterceptor.execute(SuspendXaTransactionInterceptor.java:46)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.execution.ValidateTransactionalStateInterceptor.execute(ValidateTransactionalStateInterceptor.java:43)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.internal.execution.IsolateCurrentTransactionInterceptor.execute(IsolateCurrentTransactionInterceptor.java:37)
    at org.mule.runtime.core@4.9.0/org.mule.runtime.core.privileged.execution.TransactionalExecutionTemplate.execute(TransactionalExecutionTemplate.java:196)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.withExecutionTemplate(DefaultExecutionMediator.java:332)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.execute(DefaultExecutionMediator.java:143)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.ComponentMessageProcessor.executeOperation(ComponentMessageProcessor.java:583)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.ComponentMessageProcessor.prepareAndExecuteOperation(ComponentMessageProcessor.java:829)
    at org.mule.runtime.extensions.support@4.9.0/org.mule.runtime.module.extension.internal.runtime.operation.ComponentMessageProcessor$4.lambda$innerEventDispatcher$6(ComponentMessageProcessor.java:686)
    at reactor.core.* (5 elements filtered from stack; set debug level logging or '-Dmule.verbose.exceptions=true' for everything)(Unknown Source)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.mule.service.scheduler@1.9.0/org.mule.service.scheduler.internal.AbstractRunnableFutureDecorator.doRun(AbstractRunnableFutureDecorator.java:180)
    at org.mule.service.scheduler@1.9.0/org.mule.service.scheduler.internal.RunnableFutureDecorator.run(RunnableFutureDecorator.java:55)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:840)

********************************************************************************

 

Resolution

The issue arises because the connector is unable to fetch or pull metadata for the provided query due to the use of the "TO_DATE" function. In this case, the database does not return the schema details, which prevents the connector from retrieving the necessary metadata. This is not a bug; rather, it is a limitation on the database or driver side, as certain queries (especially those with functions like "TO_DATE") may not return the schema details.

To work around this issue, the "TO_DATE" function should be removed from the query. By making this change, the database is able to return the schema, and the connector can successfully perform the INSERT operation. Use a dataweave transformation as the example below to adjust the payload. 

Additional Resources

Error query: 

INSERT INTO TABLE (
    COL_A, COL_B, COL_G
) VALUES (
    :COL_A, :COL_B, TO_DATE(:COL_G, 'YYYY-MM-DD')
)

 

Modified SQL insert query:

INSERT INTO EXCHANGERATE (
    COL_A, COL_B, COL_G
) VALUES (
    :COL_A, :COL_B, :COL_G
)

 

Fixed Payload:

[
  {
    COL_A: "dummyfile.xml",
    COL_B: "test",
    COL_G: "2025-01-01" as Date { format: "yyyy-MM-dd" }
  }
]

Knowledge Article Number

004867842

 
Loading
Salesforce Help | Article