Eu criei um pacote SSIS simples que consulta uma tabela e extrai dados para um arquivo CSV simples. Na produção, essa extração pode ter milhões de linhas e quero dividir os destinos de arquivo simples em vários arquivos com base na contagem de linhas.
Portanto, crie um novo arquivo cada vez que atingirmos 100.000 linhas com nomes de arquivos como
- SomeName_01_date.csv
- SomeName_02_date.csv
Eu encontrei uma ferramenta paga pela ZappySys que fará isso, mas não consigo descobrir como fazê-lo apenas com a caixa de ferramentas SSIS normal, posso estar perdendo algo realmente simples. Encontrei outros posts e vídeos, mas alguns deles envolvem o uso de código adicional fora do conjunto de ferramentas normal, como o site techbrothersit.
Edit: Depois de ler e dos comentários, isso parece ser mais difícil do que o esperado.
Se eu alterar o processo para dividir os arquivos simples com base em uma coluna de data na tabela, isso seria mais direto?
A tabela tem uma coluna de data curta neste formato 2020-07-30, cada arquivo CSV conteria apenas um dia de dados extraídos (pode ser mais de 100K), esses dados são excluídos da tabela. A exclusão ocorrerá após a extração de todos os dados.
Estou tentando usar um contêiner foreach/forloop, mas estou lutando, pois isso é totalmente novo para mim, qualquer ajuda seria apreciada.
Por que não limitar os dados por meio da consulta que é executada, seja com as cláusulas
OFFSET
andFETCH
ou com um predicado que você pode deslizar a janela a cada iteração no SSIS?