上記のSSISパッケージを呼び出すジョブを実行するときに、特定のファイルが特定のFTPサーバーに存在するかどうかを知る必要があります。しかし、これは、MSDNのウェブサイトによるからファイルをダウンロードするために使用されるために使用されWebRequestMethods.Ftp.DownloadFile
メソッドを呼び出しているSSIS経由でFTPサーバーにファイルが存在するかどうかを確認する最適な方法は?
string userName = Dts.Variables["User::ftp_username"].Value.ToString();
string password = Dts.Variables["User::ftp_password"].Value.ToString();
string fileName = Dts.Variables["User::download_file_name"].Value.ToString();
string ftpURL = String.Format("ftp://abc.def.com/{0}", fileName);
try
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(ftpURL);
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
ftpRequest.Credentials = new NetworkCredential(userName, password);
using (FtpWebResponse ftpResponse = (FtpWebResponse)ftpRequest.GetResponse())
{
Dts.Variables["User::fileExists"].Value = true;
}
}
catch
{
Dts.Variables["User::fileExists"].Value = false;
}
Dts.TaskResult = (int)ScriptResults.Success;
:現在、私は次のコードを包含し(SSIS内の)スクリプトタスクを使用していますFTPサーバー。 I just need to know if the file exists, not download it
。
さらに、ファイルの存在を確認する良い方法はありますか?
PS。私はC#の初心者ですので、純粋であれば申し訳ありません!