在SSIS中使用Renci时如何避免崩溃

时间:2019-01-15 00:53:40

标签: ssis reference ftp

我正在使用Renci访问SSIS包中的SFTP文件

我的程序包只有一个控件“脚本任务”来执行一些.net代码,我的要求使用Renci参考,因此我在我的参考中添加了renci.sshnet.dll。

问题是,当我尝试执行程序包时,出现此错误消息

enter image description here

我尝试注释掉脚本以查看导致错误的原因

我看到这行代码,使执行失败并发送此错误消息

using (var sftp = new SftpClient(host, username, password))

我在Windows Forms C#.net中测试了我的代码,它运行正常

这是我包装中的代码

    public void Main()
    {
        // TODO: Add your code here
        string host = @"myhost.mydomain.com.au";
        string username = "MyUserName";
        string password = "MyPassword";

        string remoteDirectory = "/SourceFolder/";
        string localDirectory = @"C:\Test\";

        using (var sftp = new SftpClient(host, username, password))
        {
            sftp.Connect();
            var files = sftp.ListDirectory(remoteDirectory);

            foreach (var file in files)
            {
                string remoteFileName = file.Name;
                if ((!file.Name.StartsWith("."))) //&& ((file.LastWriteTime.Date == DateTime.Today)))

                    using (Stream file1 = File.OpenWrite(localDirectory + remoteFileName))
                    {
                        sftp.DownloadFile(remoteDirectory + remoteFileName, file1);
                    }
            }
        }


            Dts.TaskResult = (int)ScriptResults.Success;
    }

1 个答案:

答案 0 :(得分:0)

找到解决方案

1-以管理员身份打开命令提示符

2- cd o安装“ gacutil”的文件夹

3-确保renci.sshnet.dll位于C驱动器中

4-使用gacutil注册