在处理 try-catch 范围内的文件中的少量记录后,出现“ORA-01000:超出最大打开游标”问题。我在侧面 try-catch 范围内有 3 个 select 语句和 5 个存储过程调用(在 store 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 端寻找解决方案。