首页 > 解决方案 > 该进程无法访问该文件,因为它正被 SSIS 脚本任务中的另一个进程使用。有什么解决办法吗?

问题描述

我正在尝试在 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 作业执行时。我收到上述错误。我知道脚本任务正在​​保存文件。我什至在 foreach 循环中尝试了以下代码。

Attach.Dispose() 

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

标签: sqlsql-serverssisbatch-processing

解决方案


推荐阅读