Получение ошибки в редакторе задач скрипта в SSIS - PullRequest
1 голос
/ 06 июня 2019

Я пытаюсь обновить пакет служб SSIS с 2013 по 2017 год. Но я получаю сообщение об ошибке для приведенных ниже строк кода. Кто-нибудь может решить эту проблему?

Я новичок, поэтому еще ничего не пробовал.

using System;
namespace ST_3e6cc55d375c472785d01c446ea4bf8b
{
    [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {
        public object Now { get; private set; }

        enum ScriptResults
        {
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure

        };

        public void Main()
        {
            // TODO: Add your code here
            Dts.Variables("FileNameCSV").Value = Format(Now, "yyyyMMddHHmmss") + "_MailPieces_" + LTrim(RTrim(Dts.Variables("FrequencyType").Value)) + ".csv";
            Dts.Variables("FileNameZIP").Value = Format(Now, "yyyyMMddHHmmss") + "_MailPieces_" + LTrim(RTrim(Dts.Variables("FrequencyType").Value)) + ".zip";

            Dts.TaskResult = (int)ScriptResults.Success;
        }
    }
}

Я получаю эти ошибки ниже. Пожалуйста, помогите.

Ошибка CS1955 Невозвратный член 'ScriptObjectModel.Variables' нельзя использовать как метод.

Ошибка CS0103 Имя «Формат» не существует в текущем контексте

Ошибка CS0103 Имя 'LTrim' не существует в текущем контексте

Ошибка CS0103 Имя 'RTrim' не существует в текущем контексте

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Три предложения:

  1. Заменить Now на DateTime.Now
  2. Использовать ToString(<format>) вместо Format()
  3. Использовать Trim() вместоLTrim(RTrim())

Попробуйте использовать следующий код:

using System;
namespace ST_3e6cc55d375c472785d01c446ea4bf8b
{
    [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {


        enum ScriptResults
        {
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure

        };

        public void Main()
        {
            // TODO: Add your code here
            Dts.Variables("FileNameCSV").Value = DateTime.Now.ToString("yyyyMMddHHmmss") + "_MailPieces_" + Dts.Variables("FrequencyType").Value.ToString().Trim() + ".csv";
            Dts.Variables("FileNameZIP").Value = DateTime.Now.ToString("yyyyMMddHHmmss") + "_MailPieces_" + Dts.Variables("FrequencyType").Value.ToString().Trim() + ".zip";

            Dts.TaskResult = (int)ScriptResults.Success;
        }
    }
}
0 голосов
/ 06 июня 2019

Похоже, вам не хватает ссылки на сборку во время выполнения DTS.Попробуйте добавить это в свой using блок:

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