Я пытаюсь добавить еще некоторую встроенную обработку ошибок в компонент сценария SSIS C# (в потоке данных). Прямо сейчас я заставляю его разбивать компонент на 1/0, который работает, но хакерский.Компонент скрипта SSIS FireError DNE в текущем контексте
Мой скрипт делает некоторые джазы на входных данных, но я хотел бы проверить его на нескольких шагах и вывести из строя компонент, если какие-либо проверки не удались. Источник - это выбор, поэтому мне не нужно откат любых транзакций и т. Д. ... но я хотел бы, чтобы компонент завершил работу с потоком данных, поэтому компонент потока данных потерпит неудачу и последует за обработкой ошибок, которую я задаю в потоке управления.
Вот simplist relavant сниппет, который держит меня:
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
public override void PreExecute()
{
base.PreExecute();
/*
Add your code here for preprocessing or remove if not needed
*/
bool pbCancel = false;
////check Row Count>0
if (Variables.WeeklyLRrowCount == 0)
this.ComponentMetaData.FireError(-1, "", "Fails Validation due to Empty Table.", "", 0, out pbCancel);
}
public override void PostExecute()
{
base.PostExecute();
/*
Add your code here for postprocessing or remove if not needed
You can set read/write variables here, for example:
Variables.MyIntVar = 100
*/
}
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
/*
Add your code here
*/
}
}
я получаю следующее из SSIS:
"The name 'FireError' does not exist in the current context."
Есть ли что-то я здесь отсутствует?
Спасибо!
Что такое FireError? – Diego
Я понимаю, что FireError является способ заставить ошибку в SSIS: http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.idtscomponentevents.fireerror.aspx От мое исследование кажется, что я должен иметь что-то не так с пространством/пространством имен, но я не знаю достаточно, чтобы понять это. спасибо – user1428779