该进程无法访问文件,因为SSIS脚本任务中的另一个进程正在使用该文件。有什么办法吗?

时间:2018-11-11 18:28:36

标签: sql sql-server ssis batch-processing

我试图在SSIS脚本任务的电子邮件附件中附加目录中的所有txt文件。我有以下代码。

  String[] File1 = Directory.GetFiles("D:\\Output\\", "*.txt");
   foreach (var File in File1)
   {
     Attachment Attach = new Attachment(File);
     email.Attachments.Add(Attach);
     FileNames = Path.GetFileName(File);     
    }

我的脚本任务正在​​正确执行。下一步是批处理文件。批处理文件会将输出文件夹中的文件复制到SFTP,然后将文件移动到存档文件夹。在执行批处理文件任务时(即在SSIS中执行处理任务)。我收到以下错误。

  

该进程无法访问文件,因为该文件正在被另一个进程使用。

当我分别运行“脚本任务”和“执​​行流程任务”时,两个任务均正常运行。电子邮件被触发,文件被移动。但是当我执行为SQL Job时。我收到上述错误。我了解脚本任务正在​​保存文件。我什至在foreach循环中尝试了以下代码。

Attach.Dispose() 

但是,当我添加以上代码时,我的SQL作业成功运行,但未触发电子邮件。

0 个答案:

没有答案