Array
(
)

SSIS Gerando conteúdo dinâmico

Max
|
MVP
    06 dez 2012

Bom dia,
Tem um processo que pega o resultado de uma procedure e cria uma arquivo texto.
Hoje esse processo usa um o componente "OLE BD Source" para chamar a Procedure, o resultado ele mapea e joga em um componente "Flat File Destination" que lê um compnente "Flat File Connection" que vai mapear as colunas da minha procedure, até aí tudo bem.
Gostaria de tornar esse processo dinâmico, dependendo do cliente minha procedure pode ter novas colunas, queria que o meu processo não precisasse mapear as novas colunas da proc para o componente "flat file connection".
Como posso fazer isso?

Robson Robsonalves.net
   - 06 dez 2012

Eu já precisei efetuar esse processo e imagino que não de, até onde eu pesquisei...
Pq ele precisa conhecer o Source para efetuar o Destino...
No meu caso os clientes possuíam um layout de arquivo único.

O que indicarei fazer é realizar condicionais antes do flat file e fazer o worflow executar o flat correspondente do cliente.

0
|
0

Max
|
MVP
    06 dez 2012

Robson,
Pesquisei bastante e também não encontrei nada.
A solução que encontrei, é devolver o resultado da procedure separado por ";" e no componente "Flat File Connectio", ter somente uma coluna mapeada.

Não sei se é a melhor solução, mas por enquanto foi a encontrada.

Segue a busca pela melhor solução.

Muito Obrigado.

0
|
0

Cristiano Santos
   - 11 dez 2012

Maxuel, tudo bem?

O que você pode fazer é integrar o Script Task com Código em C#.
Desta forma, você pode fazer uma rotina dentro desta Task que irá ler o conteúdo de uma variável já preenchida pelo seu processo e gerar o arquivo em um lugar específico. Você até pode pensar em algo dinâmico, conforme comentou.
Segue um artigo que fiz a um tempo atrás que executa algo semelhante ao que necessita.

http://cristianojsantos.wordpress.com/2012/11/16/usando-c-no-microsoft-integration-services/

Estamos por aqui. Boa sorte.

0
|
0

José
   - 31 jul 2013

Obrigado pela participação de todos, e como aparentemente a duvida foi sanada.
Estou dando este tópico por concluído.

0
|
0