Implantamos um projeto SSIS 2012 com dois gerenciadores de conexão de projeto ADO.Net. (Existem cinco pacotes dentro do projeto.)
O projeto possui um Ambiente relacionado, com uma variável contendo um nome de servidor. Desejo mapear a variável para a propriedade ServerName do gerenciador de conexões do projeto.
Quando clico com o botão direito do mouse no nó do projeto SSIS no SSMS 2012, iniciando a caixa de diálogo Configurar, posso localizar o Connection Manager e destacá-lo para ver suas propriedades, mas ServerName não está visível na lista Propriedades.
Normalmente, a propriedade ServerName está listada na propriedade RetainSameConnection. É visível em outros gerenciadores de conexões de projeto no mesmo projeto.
Por que essa propriedade estaria oculta, apenas para um Connection Manager?
Encontrei a resposta abrindo o projeto com o Visual Studio 2012.
Abra o projeto SSIS no Visual Studio e selecione o arquivo .conmgr no painel Solution Explorer. Use o menu de contexto e selecione a opção de menu "Exibir código". Isso mostrará o XML dentro do arquivo Connection Manager.
No XML, havia esta tag:
A propriedade ServerName foi definida por meio de uma expressão!
Esse fato não é facilmente perceptível por meio da própria árvore do Solution Explorer. Quando o arquivo conmgr é selecionado, o painel Propriedades exibe apenas as propriedades Nome do arquivo e Caminho completo.
Quando você abre um pacote que usa o Gerenciador de Conexões e seleciona esse Gerenciador de Conexões no painel do editor de pacotes, o painel de propriedades mostra muitas outras propriedades, incluindo Expressões. A propriedade ServerName ficará visível na lista Expressões apenas se tiver sido definida.
Há duas maneiras de resolver esse problema:
De qualquer forma, uma vez que a propriedade ServerName não é mais definida por uma expressão no arquivo de definição do gerenciador de conexões, ela é exposta como um parâmetro configurável na caixa de diálogo Configurar no SSMS 2012.