Этого нет в SSIS 2008. Что это за символ FX в выполнении sql-задачи? Кажется, это считается параметром. Есть ли хорошая статья об этом?Что такое символ FX на ssis execute sql task ssis 2012?
Может кто-нибудь сказать, что использование этого:
Этого нет в SSIS 2008. Что это за символ FX в выполнении sql-задачи? Кажется, это считается параметром. Есть ли хорошая статья об этом?Что такое символ FX на ssis execute sql task ssis 2012?
Может кто-нибудь сказать, что использование этого:
В то время как символ нового, концепция в SSIS 2008: Это просто означает, что эта конкретная задача или компонент имеет одно или несколько свойств устанавливается с использованием SSIS Expression, а не явно жестко закодированным.
Из документации:
В меню Инструменты SQL Server Data (SSDT), специальный значок маркера отображается рядом для диспетчеров соединений, переменных и задачи, которые имеют выражения набор на них. Свойство HasExpressions доступно для всех объектов SSIS , которые поддерживают выражения, за исключением переменных. Свойство позволяет легко идентифицировать объекты, которые имеют выражения.
Чтобы построить ответ Кайла, щелкните правой кнопкой мыши задачу Выполнение SQL и выберите Свойства. В окне свойств найдите выражения и разверните +
. При этом вы увидите все свойства, заданные с помощью выражений.
Я люблю использовать выражение, они делают статические пакеты гораздо более гибкими и способными реагировать на изменения. Однако недостатком выражений является то, что вы не можете их отлаживать. Если вы поместите контрольную точку в Execute SQL Task, вы не сможете увидеть, что оценивает выражение.
В моем тривиальном примере ничего не происходит, поэтому легко разобрать, что оценивает выражение. Однако, если бы у меня было что-то вроде этого ...
"SELECT * FROM " @[User::TableName] + " AS X WHERE X.DayOfWeek ='" + (DATEPART("dw", GETDATE()) == 1 ? "Sunday" : DATEPART("dw", GETDATE()) == 2 ? "Monday" :
DATEPART("dw", GETDATE()) == 3 ? "Tuesday" : DATEPART("dw", GETDATE()) == 4 ? "Wednesday" :
DATEPART("dw", GETDATE()) == 5 ? "Thursday" : DATEPART("dw", GETDATE()) == 6 ? "Friday" :
DATEPART("dw", GETDATE()) == 7 ? "Saturday" : "InvalidDay") + "';"
удачи в психическом разборе.
Я нахожу, что я более успешно отлаживаю сложные выражения, если я выполняю всю работу в переменных SSIS. В приведенном выше примере я бы создал переменную Query типа String. Затем я использовал бы указанное выражение для переменной. Затем я установил SqlStatementSource как @ [User :: Query] вместо того, чтобы выполнять логику в Задаче. Конечный результат тот же, за исключением того, что теперь, если что-то действует «смешно», я могу установить точку останова в Задаче, а затем проверить значение моей переменной, потому что она была оценена. Это тонкая разница, но значительная.
"формула", как правило. –
Это означает, что это динамически передает его во время выполнения !? – user1254579
Да, это означает, что он генерируется во время выполнения из выражения. –