#oracle #stored-procedures #plsql #ojdbc #mulesoft
#Oracle #хранимые процедуры #plsql #ojdbc #mulesoft
Вопрос:
Я пытаюсь вызвать процедуру oracle PL / SQL hr_person_address_api.create_person_address в хранимой процедуре mulesoft. Я передал все входные параметры, и 2 выходных параметра также определены в out parameters . Но каждый раз получаем одну и ту же ошибку или ошибку недопустимых типов столбцов из Database Connector. Также mulesoft is поддерживает вызов Oracle EBS PL / SQL Seeded API из mulesoft Stored procedure connector.
Can anyone has called Oracle EBS procedure from mulesoft
But i am getting This error
ERROR 2019-03-05 12:59:13,448 [[MuleRuntime].cpuLight.03: [workdaytooracleebsapipoc].workdaytooracleebsapipocFlow.CPU_LITE @47525cec] [event: ] org.mule.runtime.core.internal.exception.OnErrorPropagateHandler:
********************************************************************************
Message : ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'CREATE_PERSON_ADDRESS'
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'CREATE_PERSON_ADDRESS'
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'CREATE_PERSON_ADDRESS'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
.
Element : workdaytooracleebsapipocFlow/processors/2 @ workdaytooracleebsapipoc:workdaytooracleebsapipoc.xml:51 (Stored procedure)
Element XML : <db:stored-procedure doc:name="Stored procedure" doc:id="4b6d93df-7f03-4e57-a2cf-5a8a2bb635e2" config-ref="Database_Config" autoGenerateKeys="true">
<db:sql>{call hr_person_address_api.create_person_address(:p_validate,:p_effective_date,:p_pradd_ovlapval_override,:p_validate_county,:p_person_id,:p_primary_flag,:p_style,:p_date_from,:p_date_to,:p_address_type,:p_comments,:p_address_line1,:p_address_line2,:p_address_line3,:p_town_or_city,:p_region_1,:p_region_2,:p_region_3,:p_postal_code,:p_country,:p_telephone_number_1,:p_telephone_number_2,:p_telephone_number_3,:p_addr_attribute_category,:p_addr_attribute1,:p_addr_attribute2,:p_addr_attribute3,:p_addr_attribute4,:p_addr_attribute5,:p_addr_attribute6,:p_addr_attribute7,:p_addr_attribute8,:p_addr_attribute9,:p_addr_attribute10,:p_addr_attribute11,:p_addr_attribute12,:p_addr_attribute13,:p_addr_attribute14,:p_addr_attribute15,:p_addr_attribute16,:p_addr_attribute17,:p_addr_attribute18,:p_addr_attribute19,:p_addr_attribute20,:p_add_information13,:p_add_information14,:p_add_information15,:p_add_information16,:p_add_information17,:p_add_information18,:p_add_information19,:p_add_information20,:p_party_id,:v_addressId,:v_objectVersionNumber)}</db:sql>
<db:input-parameters>#[{
p_validate: false,
p_effective_date: '04-MAR-19',
p_pradd_ovlapval_override: false,
p_validate_county: true,
p_person_id: '',
p_primary_flag: 'Y',
p_style: 'US',
p_date_from: '04-MAR-19',
p_date_to: null,
p_address_type: 'ss',
p_comments: null,
p_address_line1: 'sss',
p_address_line2: null,
p_address_line3: null,
p_town_or_city: 'ss',
p_region_1 : 'dd',
p_region_2 : 'TX',
p_region_3 : null,
p_postal_code: 22334,
p_country: 'eu',
p_telephone_number_1: null,
p_telephone_number_2: null,
p_telephone_number_3: null,
p_addr_attribute_category: null,
p_addr_attribute1: null,
p_addr_attribute2: null,
p_addr_attribute3: null,
p_addr_attribute4: null,
p_addr_attribute5: null,
p_addr_attribute6: null,
p_addr_attribute7: null,
p_addr_attribute8: null,
p_addr_attribute9: null,
p_addr_attribute10: null,
p_addr_attribute11: null,
p_addr_attribute12: null,
p_addr_attribute13: null,
p_addr_attribute14: null,
p_addr_attribute15: null,
p_addr_attribute16: null,
p_addr_attribute17: null,
p_addr_attribute18: null,
p_addr_attribute19: null,
p_addr_attribute20: null,
p_add_information13: null,
p_add_information14: null,
p_add_information15: null,
p_add_information16: null,
p_add_information17: null,
p_add_information18: null,
p_add_information19: null,
p_add_information20: null,
p_party_id : null
}]</db:input-parameters>
<db:output-parameters>
<db:output-parameter key="v_addressId" type="NUMERIC"></db:output-parameter>
<db:output-parameter key="v_objectVersionNumber" type="NUMERIC"></db:output-parameter>
</db:output-parameters>
</db:stored-procedure>
Error type : DB:QUERY_EXECUTION
Payload Type : java.util.LinkedHashMap
--------------------------------------------------------------------------------
Root Exception stack trace:
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'CREATE_PERSON_ADDRESS'
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'CREATE_PERSON_ADDRESS'
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'CREATE_PERSON_ADDRESS'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:205)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1043)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
at oracle.jdbc.driver.OracleStatement.doScrollExecuteCommon(OracleStatement.java:4709)
at oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(OraclePreparedStatement.java:10613)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3611)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3714)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4755)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
at org.mule.extension.db.internal.domain.autogeneratedkey.DefaultAutoGenerateKeysStrategy.execute(DefaultAutoGenerateKeysStrategy.java:32)
at org.mule.extension.db.internal.domain.executor.StoredProcedureExecutor.doExecuteQuery(StoredProcedureExecutor.java:41)
at org.mule.extension.db.internal.domain.executor.AbstractSingleQueryExecutor.lambda$execute$1(AbstractSingleQueryExecutor.java:45)
at org.mule.extension.db.internal.domain.executor.AbstractSingleQueryExecutor.safely(AbstractSingleQueryExecutor.java:68)
at org.mule.extension.db.internal.domain.executor.AbstractSingleQueryExecutor.execute(AbstractSingleQueryExecutor.java:43)
at org.mule.extension.db.internal.operation.DmlOperations.storedProcedure(DmlOperations.java:265)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216)
at org.mule.runtime.module.extension.internal.runtime.execution.ReflectiveMethodComponentExecutor.lambda$execute$1(ReflectiveMethodComponentExecutor.java:80)
at org.mule.runtime.core.api.util.ExceptionUtils.tryExpecting(ExceptionUtils.java:227)
at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:849)
at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:813)
at org.mule.runtime.module.extension.internal.runtime.execution.ReflectiveMethodComponentExecutor.execute(ReflectiveMethodComponentExecutor.java:79)
at org.mule.runtime.module.extension.internal.runtime.operation.ReflectiveMethodOperationExecutor.execute(ReflectiveMethodOperationExecutor.java:64)
at org.mule.runtime.module.extension.internal.runtime.execution.InterceptableOperationExecutorWrapper.execute(InterceptableOperationExecutorWrapper.java:60)
at org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.lambda$null$3(DefaultExecutionMediator.java:140)
at org.mule.runtime.core.api.util.ExceptionUtils.tryExpecting(ExceptionUtils.java:227)
at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:849)
at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:813)
at org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.lambda$executeWithInterceptors$9(DefaultExecutionMediator.java:140)
at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:53)
at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoMap.subscribe(MonoMap.java:55)
at reactor.core.publisher.MonoSwitchIfEmpty.subscribe(MonoSwitchIfEmpty.java:44)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:150)
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:1765)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:103)
at reactor.core.publisher.MonoCurrentContext.subscribe(MonoCurrentContext.java:33)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.Mono.subscribe(Mono.java:3006)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:385)
at org.mule.runtime.core.privileged.processor.chain.AbstractMessageProcessorChain$1.onNext(AbstractMessageProcessorChain.java:260)
at org.mule.runtime.core.privileged.processor.chain.AbstractMessageProcessorChain$1.onNext(AbstractMessageProcessorChain.java:253)
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:204)
at reactor.core.publisher.FluxJust$WeakScalarSubscription.request(FluxJust.java:91)
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:138)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:332)
at org.mule.runtime.core.privileged.processor.chain.AbstractMessageProcessorChain$1.onSubscribe(AbstractMessageProcessorChain.java:281)
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:172)
at reactor.core.publisher.FluxJust.subscribe(FluxJust.java:68)
at reactor.core.publisher.FluxPeekFuseable.subscribe(FluxPeekFuseable.java:86)
at reactor.core.publisher.FluxLift.subscribe(FluxLift.java:46)
at reactor.core.publisher.FluxFlatMap.subscribe(FluxFlatMap.java:97)
at reactor.core.publisher.FluxLift.subscribe(FluxLift.java:46)
at reactor.core.publisher.FluxPublishOn.subscribe(FluxPublishOn.java:101)
at reactor.core.publisher.Flux.subscribe(Flux.java:6805)
at reactor.core.publisher.FluxSubscribeOn$SubscribeOnSubscriber.run(FluxSubscribeOn.java:194)
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.mule.service.scheduler.internal.AbstractRunnableFutureDecorator.doRun(AbstractRunnableFutureDecorator.java:111)
at org.mule.service.scheduler.internal.RunnableFutureDecorator.run(RunnableFutureDecorator.java:54)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Комментарии:
1. Ошибка quiet clear
PLS-00306: wrong number or types of arguments in call to 'CREATE_PERSON_ADDRESS'
— Это означает, что вы не передаете все аргументы процедуре. Передайте полный набор аргументов вашей процедуре.2. Я передал все аргументы
3. Можете ли вы попробовать добавить 2 параметра в качестве параметра OUT В parameterlist