Fluxo para fazer inserção em massa no banco de dados



  • Bom dia, tenho um fluxo que lê arquivos do tipo csv e insere no banco.
    Quando os arquivos são menores até 200 registros ele funciona normalmente, agora peguei um arquivo que contém 780 registros e tive problemas.
    Eu fiz o debugg e o fluxo percorre todas as linhas do arquivo mais ele não insere todos os registros.
    A quantidade de registros inseridos varia de uma importação para outro sendo que é o mesmo arquivo, além de não apresentar erros na hora de inserir.
    Estou usando o fluxo: Executa Comando SQL, porque ele permite uma lista de elementos no último parametro.
    Há um fluxo mais indicado para o meu caso, que é inserir registros em um loop.


  • [quote="Jose Rodrigues Xnova"]Bom dia, tenho um fluxo que lê arquivos do tipo csv e insere no banco.
    Quando os arquivos são menores até 200 registros ele funciona normalmente, agora peguei um arquivo que contém 780 registros e tive problemas.
    Eu fiz o debugg e o fluxo percorre todas as linhas do arquivo mais ele não insere todos os registros.
    A quantidade de registros inseridos varia de uma importação para outro sendo que é o mesmo arquivo, além de não apresentar erros na hora de inserir.
    Estou usando o fluxo: Executa Comando SQL, porque ele permite uma lista de elementos no último parametro.
    Há um fluxo mais indicado para o meu caso, que é inserir registros em um loop.[/quote] Qual o erro apresentado?


  • Não apresenta erros, somente ele não insere todos do "loop" da lista.
    A solução que encontrei foi usar o fluxos - Abrir Transação e Commit.
    Como o banco é Oracle, acho que é necessário dar commit quando são muitos dados.


  • Essa função ignora o erro, caso aconteça.. Uma sugestão seria criar um arquivo e concatenar todos os seus comandos gerados, depois rodar diretamente no banco para ver se os comandos estão formados corretamente.

Log in to reply