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