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)
********************************************************************************
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.
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" }
}
]
004867842

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.