Thiago Zavaschi R2 www.zavaschi.com

27Jul/122

SSIS Package Configuration (XML File) – Trocando a Connection String entre Servidores

Olá!

Uma dúvida comum que sempre surge quando vou atender um caso de SQL Server Integration Services (SSIS) é:

Ok Thiago desenvolvi 100 (leia-se muitos) pacotes no SSIS, porém toda a vez que vou fazer o deploy destes pacotes em homologação e produção eu tenho que ficar mudando as connection strings. Como proceder?”

O SSIS tem um mecanismo para ajudar neste sentido chamado SSIS Package Configuration, onde é possível salvar a suas configurações em um arquivo XML, variável de ambiente ou até mesmo em uma tabela do SQL Server que contenha os valores.

No artigo de hoje vou abordar apenas a configuração através de arquivo XML.

Mas então, como fazer?

Desenvolva seu pacote normalmente. Utilizando os Data Sources de desenvolvimento e associando os respectivos Connection Managers a eles da forma que for necessária ao seu fluxo.

Agora o que precisamos fazer é criar um arquivo de configuração XML que conterá os dados que os data sources utilizarão ao invés do que você configurou previamente.

Esta configuração você fará para o primeiro pacote e depois reutilizará o mesmo arquivo de configuração para os demais pacotes.

Abra o pacote, vá no menu “SSIS” e depois em “Package Configurations…”

Marque Enable Package Configurations e depois clique em “Add”.

image

Clique em “Browse…” para selecionar o local onde ficará o arquivo de configuração. Por exemplo: C:\config.dtsConfig.

A extensão do arquvo é .dtsConfig e é nada mais do que um arquivo XML.

Clique Next e na sequência marque a propriedade que deseja que a opção utilizada seja o que está no arquivo de configuração. Para o nosso caso o objetivo é facilitar a configuração da connection string, então vamos marcar ela.

image

Clique para prosseguir, dê um nome e clique em “Finish”.

No meu exemplo eu tenho dois pacotes e desejo que a fonte de ambos seja a mesma.

Devemos fazer um processo similar.

Abra o segundo pacote, depois, “SSIS” >> “Package Configurations” >> “Enable package configurations” >> “Add”.

Selecione o .dtsConfig já criado para este pacote. Ele irá perguntar se deseja que seja reusado o arquivo já existente ou se o desejado é sobrescrever. Marque para reusar (“Reuse Existing”).

Depois clique para prosseguir, dê um nome e encerre a janela. Pronto!

Agora temos dois pacotes que utilizam o mesmo arquivo de configuração para as connection strings. Mesmo que a execução seja feita através do BIDS, a utilização será sobre o arquivo de configuração.

Ok, e como eu verifico se ele está mesmo utilizando? Simples, execute seu pacote e veja na aba “Progress”.

image

Você verá a seguinte linha:

“Information: The package is attempting to configure from XML file “arquivo.dtsConfig”.”

Pronto, agora você pode levar os pacotes para homologação/produção e fazer a troca em apenas um ponto.

Há outras formas de fazer isso sem utilizar o arquivo XML, porém essa é a mais utilizada. As outras deixarei para um possível post futuro.

Obrigado!
Thiago Zavaschi

Comments (2) Trackbacks (0)
  1. Há alguma maneira de encriptar este ficheiro, de forma a que a password (no caso de estar a usar na connection string) não esta visivel?

  2. Quando o pacote é publicado no servidor, o arquivo de configuração criado *.dtsConfig deve ficar em alguma pasta específica do servidor? Como implantá-lo?


Leave a comment


No trackbacks yet.