ERRO de nro de cursores abertos na execução de um fluxo



  • Fizemos um sistema de geração de dados financeiros para gestão. Foram feitos vários subfluxos que consultam diversas tabelas no banco de dados, iteram através dos registros, executam cálculos sobre eles e salva o resultado no banco de dados.
    O sistema foi testado e homologado pelos usuários e funciona corretamente. Porém a medida que os dados foram aumentando, gerou um erro dizendo que excedeu o número de cursores abertos no bano de dados.
    Depois de diversos testes com o DBA, chegamos a conclusão de que o maker não está fechando os cursores a medida que finaliza o loop, fecha a consulta ou avança nas chamadas dos subfluxos. É possível forçar o fechamento do cursor após termino da execução do subfluxo, do loop, ou do fechamento da consulta?
    Alguém já passou por esta situação?


  • Todos os cursores são fechados quando a transação é finalizada, ou seja, ao término do fluxo. O que você pode fazer é criar uma rotina utilizando a função "Agendar execução de fluxo". Assim, a cada vez que o fluxo termina, os cursores são fechados, antes de chamar novamente o fluxo.

Log in to reply