当作为SQL作业运行时,Renci.SshNet无法在SSIS脚本任务中工作

时间:2014-03-12 16:47:03

标签: ssis sftp

我这里有一个非常奇怪的问题。我已经构建了一个任务,将当天上传的所有文件下载到SFTP服务器。当我手动运行包时,通过在BIDS中执行它,一切都按预期工作。当我使用SQL作业运行时,它完成说它成功但没有下载文件。

我甚至构建了一个单独的应用程序来执行下载并使用"执行进程"任务,在SQL作业之外运行时再次正确运行。

我已检查目标文件夹的写入权限,并为每个能够读/写的帐户打开它,但这没有任何区别。我还添加了一个SSIS扩展,它具有我正在努力工作的SFTP任务。我宁愿理解为什么当前的流程无法运作。

我使用Renci.SshNet进行SFTP操作,我使用的代码如下。为什么这份工作会报告成功,但实际上并没有下载任何内容?

using (var sftp = new SftpClient("host", "username", "password"))
{
    sftp.Connect();
    var files = sftp.ListDirectory("/incoming");
    foreach (SftpFile file in files)
    {
        Dts.TaskResult = (int)ScriptResults.Success;

        using (var stream = File.Create(DestinationFolder + file.Name))
        {
            sftp.DownloadFile(file.FullName, stream);
        }
    }
    sftp.Disconnect();
}

0 个答案:

没有答案