Процесс не может получить доступ к файлу, потому что он используется другим процессом в Задаче сценария служб SSIS. Любое решение? - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь прикрепить все txt-файлы из каталога во вложении электронной почты в Задаче сценария служб SSIS. У меня есть следующий код.

  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 успешно выполняется, но электронная почта не запускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...