Ошибка компиляции задачи сценария SSIS 2008: не удается загрузить сценарий для выполнения

Я использую SSIS 2008 и получаю сообщение «Невозможно загрузить сценарий для выполнения». ошибка при запуске скрипта ниже. Я могу создать этот сценарий при редактировании задачи сценария, но он дает сбой при запуске пакета. Я пробовал несколько вариантов этого скрипта, например, вместо объявления c # переменной dtss ниже я использовал объект по умолчанию DTS.Variables, это вызвало у меня ту же проблему. Обратите внимание, что я не эксперт по .NET, но мне нужно программно создать папку, только если она не существует, поэтому мне нужно использовать компонент сценария. Как я вижу, это очень «популярная» проблема, поэтому я попробовал несколько решений, предложенных на этом форуме, но у меня ничего не помогло.

using System;
using System.IO;
using System.Data;
using Microsoft.SqlServer.Dts;
using Microsoft.SqlServer.Dts.Runtime;



class Test
{
    /*protected static Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptObjectModel CurrDtsContext;*/
    protected static Microsoft.SqlServer.Dts.Runtime.Variables dtss;
    public static void Main()
    {

        // Specify the directory you want to manipulate.
        string path = (string)(dtss["ArchivePath"].Value + "\\" + dtss["FacilityName"]);

        try
        {
            // Determine whether the directory exists.
            if  (!Directory.Exists(path))
            {
                // Try to create the directory.
                DirectoryInfo di = Directory.CreateDirectory(path);
            }

        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: ", e.ToString());
        }
        finally { }
    }
}

person Leo Dan    schedule 14.03.2018    source источник
comment
Для этого не нужно использовать задачу скрипта. Вы можете просто использовать однострочник в задаче выполнения. stackoverflow.com/questions/4165387/. Если вы настаиваете на использовании сценария, вам придется делать странные вещи, например предоставлять доступ к Windows \ temp blogs.msdn.microsoft.com/mab/2008/11/06/   -  person Nick.McDermaid    schedule 15.03.2018
comment
Спасибо, я в конечном итоге использовал задачу файловой системы со свойством UseDirectoryIfExist = TRUE, таким образом, он не перезаписывает существующую папку и, похоже, не вызывает никаких ошибок, если папка уже существует.   -  person Leo Dan    schedule 15.03.2018


Ответы (1)


В конце концов я использовал задачу файловой системы со свойством UseDirectoryIfExist = TRUE, таким образом, он не перезаписывает существующую папку и, похоже, не вызывает никаких ошибок, если папка уже существует.

person Leo Dan    schedule 09.08.2018