/// <summary> /// Creator of the SSISOutput class. Will populate this class with all the relevant parts of an IDTSOutput100 /// </summary> /// <param name="output">The IDTSOutput100 that you wish to collect all relevant data from</param> /// <param name="bufferManager">The buffer manager, or null. This is used for the collection of column lineage into buffers.</param> public SSISOutput(IDTSOutput100 output, IDTSBufferManager100 bufferManager) { _customPropertyCollection = new Dictionary <string, SSISProperty>(); _outputColumnCollection = new List <SSISOutputColumn>(); _name = "_" + System.Text.RegularExpressions.Regex.Replace(output.Name, @"[^a-zA-Z0-9]", String.Empty); _errorRowDisposition = output.ErrorRowDisposition; // Get the Custom Properties for (int i = 0; i < output.CustomPropertyCollection.Count; i++) { SSISProperty newProperty = new SSISProperty(); newProperty.Name = output.CustomPropertyCollection[i].Name; newProperty.Value = output.CustomPropertyCollection[i].Value; _customPropertyCollection.Add(newProperty.Name, newProperty); } // Get the Columns for (int i = 0; i < output.OutputColumnCollection.Count; i++) { SSISOutputColumn newColumn = new SSISOutputColumn(output.OutputColumnCollection[i], bufferManager, output.Buffer); _outputColumnCollection.Add(newColumn); } }
public static int First(this IDTSBufferManager100 manager, IDTSInput100 input) { var column = input.InputColumnCollection[0]; return(manager.FindColumnByLineageID(input.Buffer, column.LineageID)); }
public static int FindColumnByName(this IDTSBufferManager100 manager, string name, IDTSInput100 input, IDTSOutput100 output) { return((from IDTSOutputColumn100 column in output.OutputColumnCollection where column.Name == name select manager.FindColumnByLineageID(input.Buffer, column.LineageID)).FirstOrDefault()); }
public void Instantiate(String bstrUserComponentTypeName, IDTSComponentMetaData100 pComponentMetaData, IDTSVariableDispenser100 pVariableDispenser, IDTSBufferManager100 pBufferManager, IDTSEventInfos100 pEventInfos, IDTSObjectReferenceTracker100 pRefTracker, IDTSLogEntryInfos100 pLogEntryInfos, out DTSProductLevel peProductLevel) { _innerObject.Instantiate(bstrUserComponentTypeName, pComponentMetaData, pVariableDispenser, pBufferManager, pEventInfos, pRefTracker, pLogEntryInfos, out peProductLevel); }
internal BipsProxyIDTSBufferManager100(IDTSBufferManager100 innerObject) { _innerObject = innerObject; }
//public SSISOutputColumn() //{ // _customPropertyCollection = new Dictionary<string, SSISProperty>(); //} public SSISOutputColumn(IDTSOutputColumn100 outputColumn, IDTSBufferManager100 bufferManager, int bufferID) { _customPropertyCollection = new Dictionary <string, SSISProperty>(); _name = "_" + System.Text.RegularExpressions.Regex.Replace(outputColumn.Name, @"[^a-zA-Z0-9]", String.Empty); //.Replace(" ", String.Empty).Replace("_", String.Empty).Replace("@", String.Empty); //_truncationRowDisposition = outputColumn.TruncationRowDisposition; _identificationString = outputColumn.IdentificationString; //_errorRowDisposition = outputColumn.ErrorRowDisposition; _lineageID = outputColumn.LineageID; _datatype = outputColumn.DataType; for (int j = 0; j < outputColumn.CustomPropertyCollection.Count; j++) { SSISProperty newProperty = new SSISProperty(); newProperty.Name = outputColumn.CustomPropertyCollection[j].Name; newProperty.Value = outputColumn.CustomPropertyCollection[j].Value; _customPropertyCollection.Add(newProperty.Name, newProperty); } if (_customPropertyCollection.Count > 0) { switch ((Utilities.usageOfColumnEnum)_customPropertyCollection[ManageProperties.usageOfColumn].Value) { case Utilities.usageOfColumnEnum.RowType: _isMasterOrKey = false; _isRowData = false; _isRowType = true; _isDerived = false; break; case Utilities.usageOfColumnEnum.Passthrough: _isMasterOrKey = false; _isRowData = false; _isRowType = false; _isDerived = false; break; case Utilities.usageOfColumnEnum.Ignore: _isMasterOrKey = false; _isRowData = false; _isRowType = false; _isDerived = true; break; case Utilities.usageOfColumnEnum.Key: _isMasterOrKey = true; _isRowData = false; _isRowType = false; _isDerived = true; break; case Utilities.usageOfColumnEnum.MasterValue: _isMasterOrKey = true; _isRowData = false; _isRowType = false; _isDerived = false; break; case Utilities.usageOfColumnEnum.RowData: _isMasterOrKey = false; _isRowData = true; _isRowType = false; _isDerived = false; break; default: _isMasterOrKey = false; _isRowData = false; _isRowType = false; _isDerived = true; break; } if (_customPropertyCollection.ContainsKey(ManageProperties.keyOutputColumnID)) { if ((int)_customPropertyCollection[ManageProperties.keyOutputColumnID].Value > 0) { _isDerived = true; } } } else { _isMasterOrKey = false; _isRowData = false; _isRowType = false; _isDerived = false; } if (bufferManager != null) { _outputBufferID = bufferManager.FindColumnByLineageID(bufferID, outputColumn.LineageID); } }
/// <summary> /// This method should be called at runtime, so that correct value is returned. /// </summary> /// <param name="variableDispenser"></param> /// <param name="inputBuffer"></param> /// <param name="inputLane"></param> /// <param name="bufferManager"></param> /// <returns></returns> public string GetValue(IDTSVariableDispenser100 variableDispenser, PipelineBuffer inputBuffer, IDTSInput100 inputLane, IDTSBufferManager100 bufferManager) { switch (Binding) { case HTTPParamBinding.CustomValue: return(CustomValue); case HTTPParamBinding.Variable: DataType type; return(Utils.GetVariable(variableDispenser, VariableName, out type).ToString()); case HTTPParamBinding.InputField: int colIndex = bufferManager.FindColumnByLineageID(inputLane.Buffer, inputLane.InputColumnCollection[InputColumnName].LineageID); return(inputBuffer[colIndex].ToString()); default: throw new ApplicationException("Unhandled HTTPBinding type."); } }