У меня проблема с выполнением пакета через API в Microsoft.SqlServer.Dts.Runtime. У меня есть 4 сервера SQL, которые потенциально могут выполнить мой пакет в 2 кластерах. На пассивных узлах в каждом кластере сбой выполнения - сообщается об ошибке, что истек период оценки служб SSIS. На активных узлах работает нормально. Я не думаю, что это связано с кластером, тем более, что сама SSIS изначально не была установлена на активных узлах. Мы установили его позже. В пятницу мы удалили и переустановили SSIS на пассивных узлах, убедившись, что мы используем правильный установочный носитель, но ничего не изменилось. Мы также попытались перезапустить и снова запустить с теми же результатами (не удалось на теперь активных узлах)
Интересно, что я могу запустить пакет из SSMS, используя Утилиту выполнения пакета на проблемных узлах. Но вызов его из .net API не работает. Есть идеи? Я ничего не могу найти! Код для вызова API ниже ...
спасибо!
Ben
Package pck;
DTSExecResult execResult;
Application app = new Application();
//Load package from SQL Server
pck = app.LoadFromSqlServer(jobParams.SSISPackagePath, jobParams.ServerName, null, null, null);
//Assign values to the package variables
pck.Variables["FlatFileInputPath"].Value = destinationFilePath;
//Execute the package
logger.WriteInfo("Started executing SSIS package...");
execResult = pck.Execute(null, null, new SSISEventsSink(logger), null, null);