Мне интересно, может кто-нибудь помочь мне с этим вопросом, пожалуйста. Я новичок в использовании задач сценариев в пакетах служб SSIS, и я не могу найти решение этой проблемы. Поэтому я создал скрипт Task для загрузки файла с веб-портала. Пакет работал нормально в течение нескольких месяцев, но внезапно он начал давать сбои. Причина в том, что URL снова направляется на страницу аутентификации веб-портала (похоже, клиент мог изменить настройки безопасности своего сайта или что-то в этом роде). Так что теперь пустой файл загружается.
ниже приведен код, который я использую в своей задаче сценария. Есть ли код, который я могу добавить в скрипт ниже, чтобы пропустить страницу аутентификации, так как я уже посылаю имя пользователя и пароль в скрипте ниже. Еще одна вещь, которую нужно добавить, я могу загрузить файл вручную, когда я копирую и вставляю URL в Chrome, так что это означает, что файл данных существует на портале, это просто задача скрипта, перенаправляемая на страницу аутентификации снова, поэтому не удается. Заранее спасибо.
public void Main()
{
// TODO: Add your code here
WebClient wc = new WebClient();// { UseDefaultCredentials = true };
var DownloadPath = Dts.Variables["User::varDownloadPathNew"].Value.ToString();
DateTime startDate = DateTime.Parse(Dts.Variables["User::StartDate"].Value.ToString());
DateTime enddate = DateTime.Parse(Dts.Variables["User::EndDate"].Value.ToString());
wc.Credentials = new NetworkCredential("UserName", "Password");
wc.DownloadFile("https://Test123.co.uk/model/download?&startfilter=" + startDate.ToString("dd") + "%2F" + startDate.ToString("MM") + "%2F" + startDate.ToString("yyyy") + "&mnu_jobdateendfilter=" + enddate.ToString("dd") + "%2F" + enddate.ToString("MM") + "%2F" + enddate.ToString("yyyy") + "&%A6&maxrows=400&format=excel&filename=Test.xls", DownloadPath);
Dts.TaskResult = (int)ScriptResults.Success;
}