public override void SetOutputColumnDataTypeProperties(int iOutputID, int iOutputColumnID, DataType eDataType, int iLength, int iPrecision, int iScale, int iCodePage) { IDTSOutputCollection100 outputColl = ComponentMetaData.OutputCollection; IDTSOutput100 output = outputColl.GetObjectByID(iOutputID); if (output != null) { if (output.IsErrorOut) { this.PostErrorAndThrow(MessageStrings.CantChangeErrorOutputProperties); } else { IDTSOutputColumnCollection100 columnColl = output.OutputColumnCollection; IDTSOutputColumn100 column = columnColl.GetObjectByID(iOutputColumnID); if (column != null) { if (ValidateSupportedDataTypes(eDataType) == DTSValidationStatus.VS_ISVALID) { column.SetDataTypeProperties(eDataType, iLength, iPrecision, iScale, iCodePage); } else { throw new COMException(string.Empty, E_FAIL); } } } } }
public override void SetOutputColumnDataTypeProperties(int iOutputID, int iOutputColumnID, DataType eDataType, int iLength, int iPrecision, int iScale, int iCodePage) { IDTSOutputCollection100 outputColl = ComponentMetaData.OutputCollection; IDTSOutput100 output = outputColl.GetObjectByID(iOutputID); IDTSOutputColumnCollection100 columnColl = output.OutputColumnCollection; IDTSOutputColumn100 column = columnColl.GetObjectByID(iOutputColumnID); column.SetDataTypeProperties(eDataType, iLength, iPrecision, iScale, iCodePage); }
/// <summary> /// Получение выходного потока с указанным именем. /// </summary> /// <param name="collection">Коллекция выходных потоков.</param> /// <param name="name">Имя выходного потока.</param> /// <returns>Метод возвращает выходной поток с именем, указанным в параметре <paramref name="name"/>.</returns> /// <exception cref="Exception">Исключение возникает, если в коллекции не найдено выходного потока с указанным именем.</exception> public static IDTSOutput100 GetOutputByName(this IDTSOutputCollection100 collection, string name) { foreach (IDTSOutput100 output in collection) { if (output.Name == name) { return(output); } } throw new Exception($@"Could not find output stream with the name of ""{name}""."); }
public override void SetOutputColumnDataTypeProperties(int outputID, int outputColumnID, Microsoft.SqlServer.Dts.Runtime.Wrapper.DataType dataType, int length, int precision, int scale, int codePage) { IDTSOutputCollection100 outputColl = this.ComponentMetaData.OutputCollection; IDTSOutput100 output = outputColl.GetObjectByID(outputID); IDTSOutputColumnCollection100 columnColl = output.OutputColumnCollection; IDTSOutputColumn100 column = columnColl.GetObjectByID(outputColumnID); column.SetDataTypeProperties(dataType, length, precision, scale, codePage); }
private IDTSOutput100 GetMainOutput() { IDTSOutputCollection100 outputCollection = this.componentMetadata.OutputCollection; if (outputCollection[0].IsErrorOut) { return(outputCollection[1]); } else { return(outputCollection[0]); } }
public override DTSValidationStatus Validate() { bool cancel; IDTSInputCollection100 inputCollection = ComponentMetaData.InputCollection; IDTSOutputCollection100 outputCollection = ComponentMetaData.OutputCollection; // Make sure there is one input. if (inputCollection.Count != 1) { ComponentMetaData.FireError(0, ComponentMetaData.Name, "Should only have a single input.", string.Empty, 0, out cancel); return(DTSValidationStatus.VS_ISCORRUPT); } else if (inputCollection[0].InputColumnCollection.Count == 0) { ComponentMetaData.FireError(0, ComponentMetaData.Name, "There should be at least one input column.", string.Empty, 0, out cancel); return(DTSValidationStatus.VS_ISBROKEN); } // Make sure there is only one error output. if (outputCollection.Count != 1) { ComponentMetaData.FireError(0, ComponentMetaData.Name, "Should only have a single output.", string.Empty, 0, out cancel); return(DTSValidationStatus.VS_ISCORRUPT); } else if (outputCollection[0].OutputColumnCollection.Count == 0) { ComponentMetaData.FireError(0, ComponentMetaData.Name, "There should be at least one output column.", string.Empty, 0, out cancel); return(DTSValidationStatus.VS_ISBROKEN); } if (ComponentMetaData.AreInputColumnsValid == false) { return(DTSValidationStatus.VS_NEEDSNEWMETADATA); } return(base.Validate()); }
internal BipsProxyIDTSOutputCollection100(IDTSOutputCollection100 innerObject) { _innerObject = innerObject; }
/// <summary> /// Получение выходного потока по умолчанию. /// </summary> /// <param name="collection">Коллекция выходных потоков.</param> /// <returns>Метод возвращает выходной поток с именем <c>Output</c>.</returns> public static IDTSOutput100 GetDefaultOutput(this IDTSOutputCollection100 collection) { return(collection.GetOutputByName("Output")); }