获得'ORA-01000:最大打开游标超过‘问题后,处理少数记录从文件试图-捕获范围内。我有3个select语句和5个存储过程调用(在存储proc中有insert语句)。下面是我的池配置文件配置:在存储过程中使用默认配置的<db:pooling-profile maxPoolSize="10" preparedStatementCacheSize="0" />
<db:stored-procedure doc:name="insert into SPCHG_SERVICE_RENDERED" doc:id="d5b44d97-0f00-4377-a98d-b35a6b78df9e" config-ref="Database_Config" transactionalAction="ALWAYS_JOIN">
<reconnect count="3" />
<db:sql ><![CDATA[{call schema.ARRAY_INSERT_SERVICE(:serviceData,:error_num,:error_msg)}]]></db:sql>
<db:input-parameters ><![CDATA[#[{"serviceRenderedData" : payload}]]]></db:input-parameters>
<db:output-parameters >
<db:output-parameter key="error_num" type="INTEGER" />
<db:output-parameter key="error_msg" type="VARCHAR" />
</db:output-parameters>
</db:stored-procedure>运行时: 4.3任何用于修复/避免此问题的输入。注意:DBA团队不会增加游标计数,而是从MuleSoft end寻找解决方案。
发布于 2022-03-01 21:31:04
确保您正在使用存储过程的输出(即使不期望结果集),方法是将操作放在一个单独的流中,该流与VM类似于文件显示。。
或者,在db操作之后放一个foreach。
https://stackoverflow.com/questions/71312732
复制相似问题