我在SSIS中执行FTP任务时收到以下错误。
The Password was not allowed
这是什么意思?
答案 0 :(得分:6)
SSIS保存基于ProtectionLevel
包属性值加密的敏感数据(如密码)。默认情况下,此值为EncryptSensitiveWithUserKey
(这意味着可以使用创建程序包的同一用户帐户读取加密部分)。详细了解Access Control on TechNet
您可以将此属性设置为EncryptSensitiveWithPassword
,然后设置PackagePassword
属性。您可以使用带有/De {password}
参数的DTExec实用程序执行该程序包。
(您可以通过右键单击包的控制流上的空白区域,然后选择“属性”项来编辑包属性。)
另一种方法是设置一个简单的Script Task
(在FTP Task
之前),它在运行时设置值。以下代码设置FTPConnectionName
连接的密码属性。
C#代码
ConnectionManager FTPConn;
FTPConn = Dts.Connections["FTPConnectionName"];
FTPConn.Properties["ServerPassword"].SetValue(FTPConn, "YourPassword");
Dts.TaskResult = (int)ScriptResults.Success;
将此代码添加到脚本任务的入口点(Main()函数)。
(可选)您可以将一个字符串变量添加到包中,并将其添加到脚本任务的只读变量中,并使用它(Dts.Variables["FTPPassword"].Value
)来设置密码。