我正在做一些测试,将执行 SQL 任务中的完整结果集输出到 Foreach 循环中,如下所示
我只想将我的变量值输出到一个消息框,但是它似乎不起作用。
public void Main()
{
try
{
// TODO: Add your code here
string Variables = Dts.Variables["User::ClientID"].ToString() +
Dts.Variables["User::Passphrase"].ToString() +
Dts.Variables["User::KeyFileName"].ToString() +
Dts.Variables["User::InboundEncryptionRequired"].ToString() +
Dts.Variables["User::SftpResponseRequired"].ToString() +
Dts.Variables["User::OutboundDecryptionRequired"].ToString() +
Dts.Variables["User::SftpHost"].ToString() +
Dts.Variables["User::SftpPort"].ToString() +
Dts.Variables["User::SftpUserName"].ToString() +
Dts.Variables["User::Active"].ToString() +
Dts.Variables["User::SftpDownloadFrom"].ToString() +
Dts.Variables["User::SftpUploadTo"].ToString() +
Dts.Variables["User::SftpDeleteFilesFromRemote"].ToString() +
Dts.Variables["User::ConnectionProtocol"].ToString();
MessageBox.Show(Variables);
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
}
}
我只是得到“在集合中找不到元素”之类的东西,即使我知道查询正在输出 2 行。
我还在 foreach 循环上映射了我的变量,并在脚本任务上指定了只读变量。
* 更新 *
这让我发疯了。我已经三次检查了我的变量名,可以确认我得到了完整的结果集。
我从我的脚本任务变量中删除了 User:: ,但仍然没有运气。