Агент SQL - Zipfile.ExtractToDirectory не работает - PullRequest
1 голос
/ 24 октября 2019

У меня есть пакет служб SSIS, в котором у меня есть задача сценария. У меня есть код ниже, который пытается распаковать файл

 string subPath = Dts.Variables["User::ProcessingFolder"].Value.ToString();

 bool exists = System.IO.Directory.Exists(subPath);

 if (!exists)
 System.IO.Directory.CreateDirectory(subPath);

 string zipFilename = Dts.Variables["User::varProcessingFile"].Value.ToString();                

 string targetDirectory = subPath;
 ZipFile.ExtractToDirectory(zipFilename, subPath);    

 Dts.TaskResult = (int)ScriptResults.Success;

Приведенный выше код работает в Visual Studio, но при запуске через агент SQL, распаковка не происходит.

Как это исправить?

1 Ответ

1 голос
/ 24 октября 2019

Я думаю, что вы столкнулись с проблемой разрешений, поскольку при запуске пакета из Visual Studio он выполняется текущим пользователем, но при запуске из агента SQL он использует учетную запись службы сервера SQL.

Чтобы решить эту проблему, вы должны предоставить служебную учетную запись для доступа ко всем необходимым каталогам или выполнить пакет как прокси-пользователь:

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