以下のように、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 ループにマップし、scrip タスクで読み取り専用変数を指定しました。
* アップデート *
これは私を夢中にさせています。変数名を 3 回チェックしましたが、完全な結果セットを取得していることを確認できます。
スクリプト タスク変数から User:: を削除しましたが、まだ運がありません。