在SSIS中使用Renci时如何避免崩溃
我正在使用Renci访问SSIS包中的SFTP文件 我的包只有一个控件“脚本任务”来执行一些.net代码,我的代码需要Renci引用,所以我在引用中添加了Renci.sshnet.dll 问题是,当我试图执行我的包时,我得到了这个错误消息 我试着对脚本进行注释,看看是什么导致了错误 我得到这行代码,它使执行失败并发送此错误消息在SSIS中使用Renci时如何避免崩溃,ssis,reference,ftp,Ssis,Reference,Ftp,我正在使用Renci访问SSIS包中的SFTP文件 我的包只有一个控件“脚本任务”来执行一些.net代码,我的代码需要Renci引用,所以我在引用中添加了Renci.sshnet.dll 问题是,当我试图执行我的包时,我得到了这个错误消息 我试着对脚本进行注释,看看是什么导致了错误 我得到这行代码,它使执行失败并发送此错误消息 using (var sftp = new SftpClient(host, username, password)) 我在WindowsFormsC#.net中测试
using (var sftp = new SftpClient(host, username, password))
我在WindowsFormsC#.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-以管理员身份打开命令提示符
2-cd o安装“gacutil”的文件夹
3-确保renci.sshnet.dll位于c驱动器中
4-使用gacutil注册时,TargetInvocationExceptions有一个包含根问题的内部异常。您需要找到我们的内部异常是什么(
InnerException
属性)。没有这些信息,我们无法帮助您。而且,您正在使用SFTP协议,所以请使用标记,而不是。FTP和SFTP是两种不同的协议。