Переменная SSIS — оценка выражения, требующая времени в задаче сценария

У меня есть переменная, которая использует другую переменную для получения ее значения. Я установил для свойства EvaluateAsExpression значение True. Теперь, когда я использую эту переменную в Задача сценария, для оценки этого выражения требуется 2-3 минуты. Но если я жестко кодирую значение переменной вместо того, чтобы читать его из другой переменной, то оно заканчивается менее чем за секунду. Кто-нибудь дайте мне знать, если я что-то упустил? Я использую BIDS/SSIS 2008.

Variable1: D:\app\srikar.mogaliraju
Variable2: @[User::Variable1]+"\\Product"

Код задачи сценария:

        public void Main()
        {

            String SourceFolderPath, DestinationFolderpath;
            SourceFolderPath = Dts.Variables["User::Variable2"].Value.ToString();

//Random Code
 Dts.TaskResult = (int)ScriptResults.Success;
        }

Построитель выражений переменной 2: Переменная SSIS — оценка выражения, требующая времени в задаче сценария

Что это за выражение? Но я бы сказал, что машина, на которой он работает, недостаточно мощная.

Arthur 28.05.2019 19:54

@Arthur Добавил выражение в мой вопрос.

Srikar mogaliraju 28.05.2019 20:00

@Arthur Когда я использую эту оценочную переменную в других задачах, кроме задачи «Сценарий», она работает без проблем. Я столкнулся с проблемой только с задачей сценария.

Srikar mogaliraju 28.05.2019 20:02

Это медлительность на стороне парсера. Похоже, ему требуется больше времени, чтобы попасть внутрь задачи сценария, чем любому другому

Arthur 28.05.2019 20:22

@Arthur Есть предложения выполнить Trail and Error, чтобы сделать это быстрее?

Srikar mogaliraju 28.05.2019 20:28

Установите его за пределами Задача сценария @Srikar

Arthur 28.05.2019 20:30

@Srikarmogaliraju Почему вы используете задачу сценария для установки значения другой переменной пакета. Это можно сделать в свойстве Package Variables Expressions. Это и легче, и проще.

J Weezy 28.05.2019 21:41

@JWeezy Я не устанавливаю это в задаче «Сценарий». Я просто использую переменную, значение которой задается в свойстве Package Variables Expressions.

Srikar mogaliraju 29.05.2019 14:27

@Srikarmogaliraju Возможно, будет полезнее, если вы опубликуете код задачи скрипта, чтобы мы могли посмотреть на него и попытаться диагностировать проблему.

J Weezy 29.05.2019 16:01

@JWeezy Отредактировал мой вопрос, добавив код задачи сценария и построитель выражений переменной 2. Проблема заключается в чтении значения переменной в задаче Script.

Srikar mogaliraju 29.05.2019 17:22

Вы уверены, что задержка находится в строке, где вычисляется выражение, а не где-либо еще? Простая конкатенация строк не должна создавать проблем. Возможно, это остальная часть кода в сценарии. У вас есть параллельные казни?

EzLo 29.05.2019 17:26

@Srikarmogaliraju Вы пытаетесь выполнить оценку выражения в задаче скрипта? Если да, то это неправильно. Вы выполняете вычисление выражения переменной в окне Variables. Затем вы выбираете эти переменные в пользовательском интерфейсе задачи «Сценарий» либо для чтения, либо для чтения и записи.

J Weezy 29.05.2019 17:31

@EzLo Я уверен, что это из-за вычисляемого выражения. Я сохранил точку останова, чтобы подтвердить то же самое. если я удалю построитель выражений и жестко закодирую значение переменной, проблем вообще не будет.

Srikar mogaliraju 30.05.2019 07:10

@JWeezy Я выполняю оценку выражения в окне переменных. Отредактировал мой вопрос со скриншотом для того же.

Srikar mogaliraju 30.05.2019 08:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
14
258
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня нет решения для этого. Поэтому публикую ответ с решением, которое я реализовал, чтобы обойти эту проблему.

  1. Используйте ExecuteSqlTask ​​для чтения Variable1 и добавления "\Product" к значению Variable1. Задайте для свойства набора результатов значение Single Row.
  2. Назначьте набор результатов переменной 2 и используйте эту переменную в задаче «Скрипт».

Другие вопросы по теме