For Appian version 24.2.1295.0 and Excel Tools version 2.6.3, I am getting following error.
ERROR ImportExcelFileToDatabase ORA-17041: Missing IN or OUT parameter at index: 2
Is this due to a version miss match ? Which version will be suitable with my current version of Appian and will upgrading the plugin cause any issues with the older code?
Discussion posts and replies are publicly visible
Error is due to incorrect parameter mapping, not version mismatch. Excel Tools 2.8.x+ is compatible with Appian 24.2. Check your stored procedure parameters (especially index 2) and test any plugin upgrade in a lower environment first.
The parameters are mapped correctly and I had also verified the Excel headers with table column names. Following is the plugin param list which I am using and the Database Field Names are passed as a constant value. Both DB field name and excel headers have 22 items and are passed as constants. Even the spellings are verified multiple times.
Stack trace is as follows:
ERROR ImportExcelFileToDatabase ORA-17041: Missing IN or OUT parameter at index: 2 https://docs.oracle.com/error-help/db/ora-17041/ java.sql.SQLException: ORA-17041: Missing IN or OUT parameter at index: 2 https://docs.oracle.com/error-help/db/ora-17041/ at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2065) at oracle.jdbc.driver.OraclePreparedStatement.addBatch(OraclePreparedStatement.java:10181) at oracle.jdbc.driver.OraclePreparedStatementWrapper.addBatch(OraclePreparedStatementWrapper.java:1003) at jdk.internal.reflect.GeneratedMethodAccessor3033.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:123) at jdk.proxy2/jdk.proxy2.$Proxy228.addBatch(Unknown Source) at com.appiancorp.ps.exceltools.util.ExcelHelperUtils.importExcelFile(ExcelHelperUtils.java:902) at com.appiancorp.ps.exceltools.smartservice.ImportExcelFileToDatabase.run(ImportExcelFileToDatabase.java:86) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136) at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130) at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:28) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88) at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:22) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55) at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143) at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68) at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136) at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36) at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110) at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241) 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)
Error is caused by how the plugin binds parameters in the database, not by a mismatch of field counts.It often happens due to a bug or strict type/data validation.Upgrade Excel Tools to 2.8.x or later. Upgrading the plugin usually resolves this issue