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!