В задаче сценария SSIS у меня есть приведенный ниже код, который проверяет, пуста ли папка. Затем я хочу передать, есть ли это или нет, в переменную «Dim_File_Count» и использовать ограничение приоритета, чтобы перейти к следующей задаче в случае успеха. Однако мой код продолжает указывать, что папка пуста, даже если это не так:
public void Main()
{
//string FolderName = Dts.Variables["User::Tech_Dim"].Value.ToString();
if (File.Exists(Dts.Variables["User::Tech_Dim"].Value.ToString())==false)
{
Dts.Variables["User::Dim_File_Count"].Value = 0;
MessageBox.Show("folder empty");
}
else
{
Dts.Variables["User::Dim_File_Count"].Value = 1;
MessageBox.Show("folder is not empty");
}
Dts.TaskResult = (int)ScriptResults.Success;
}
File.Exists
проверяет, существует ли указанный файл. Подача ему имени каталога всегда будет терпеть неудачу. ИспользуйтеDirectory.GetFiles(...).Any()
(или, меньше памяти,new DirectoryInfo(...).EnumerateFiles().Any()
). - person Jeroen Mostert   schedule 03.12.2018