sexta-feira, 30 de abril de 2010

Erro no SSIS - FTP TASK ("The password was not allowed")

Sintoma: Ao tentar utilizar o FTP TASK do SSIS (Sql Server Integration Services), a task retorna a mensagem "The password was not allowed".

Causa: Uma das premissas do SSIS, diz respeito a segurança e portanto todas as senhas atribuídas aos componentes são perdidas em tempo de execução.

Resolução: A solução para este problema foi criar um Script Task antes da FTP Task onde as propriedades da Task são passadas em tempo de execução através das variáveis. Veja abaixo o código da task:

        public void Main()
        {
            // TODO: Add your code here

            string userName = Dts.Variables["gStrUsuarioPDS"].Value.ToString();
            string password = Dts.Variables["gStrSenhaPDS"].Value.ToString();
            string ftp = Dts.Variables["gStrFTPPDS"].Value.ToString();

            Dts.Connections["FTPConnMngr"].ConnectionString = ftp + ":21";
            object ftpConnectionManager = (object)Dts.Connections["FTPConnMngr"];

            Dts.Connections["FTPConnMngr"].Properties["ServerUserName"].SetValue(ftpConnectionManager, userName);
            Dts.Connections["FTPConnMngr"].Properties["ServerPassword"].SetValue(ftpConnectionManager, password);

            Dts.TaskResult = (int)ScriptResults.Success;
        }



Mais Informações: Para mais informações, leia este artigo.

Até a próxima!

Nenhum comentário:

Postar um comentário

Leave your comment here!