PipelineComponent.GetDependentInputs(Int32) 메서드

정의

추가 데이터를 기다리고 있는 입력들의 입력 ID 모음을 반환하여 지정된 입력을 차단합니다.

public:
 virtual System::Collections::ObjectModel::Collection<int> ^ GetDependentInputs(int blockedInputID);
public virtual System.Collections.ObjectModel.Collection<int> GetDependentInputs(int blockedInputID);
abstract member GetDependentInputs : int -> System.Collections.ObjectModel.Collection<int>
override this.GetDependentInputs : int -> System.Collections.ObjectModel.Collection<int>
Public Overridable Function GetDependentInputs (blockedInputID As Integer) As Collection(Of Integer)

매개 변수

blockedInputID
Int32

다른 입력이 추가 데이터를 기다리는 동안 차단된 입력의 ID.

반품

더 많은 데이터를 기다리고 있는 입력들의 입력 ID들의 집합으로, 따라서 매개변수로 blockedInputID 식별된 입력을 차단하고 있습니다.

예제

차단된 특정 입력에 대해, 다음 메서드 구현 GetDependentInputs 은 더 많은 데이터를 받기를 기다리고 있는 입력 집합을 반환하여 지정된 입력을 차단하고 있습니다. 컴포넌트는 이미 받은 버퍼에서 처리할 데이터가 없는 지정된 입력 이외의 입력이 있는지 확인하여 차단 입력을 식별합니다(inputBuffers[i].CurrentRow() == null). 그 후 이 메서드는 GetDependentInputs 차단 입력 집합을 입력 ID 집합으로 반환합니다.

public override Collection<int> GetDependentInputs(int blockedInputID)  
{  
    Collection<int> currentDependencies = new Collection<int>();  
    for (int i = 0; i < ComponentMetaData.InputCollection.Count; i++)  
    {  
        if (ComponentMetaData.InputCollection[i].ID != blockedInputID  
            && inputBuffers[i].CurrentRow() == null)  
        {  
            currentDependencies.Add(ComponentMetaData.InputCollection[i].ID);  
        }  
    }  

    return currentDependencies;  
}  

설명

속성 trueDtsPipelineComponentAttribute값을 Microsoft.SqlServer.Dts.Pipeline.DtsPipelineComponentAttribute.SupportsBackPressure 로 설정하고, 커스텀 데이터 흐름 컴포넌트가 두 개 이상의 입력을 지원한다면, 메서드에 대한 GetDependentInputs 구현도 제공해야 합니다.

데이터 플로우 엔진은 사용자가 컴포넌트에 두 개 이상의 입력을 연결할 때만 메서드를 GetDependentInputs 호출합니다. 구성 요소가 입력이 두 개뿐이고, 메서드가 IsInputReady 한 입력이 차단되었다고 표시할 때(canProcess = false), 데이터 흐름 엔진은 다른 입력이 추가 데이터를 받기를 기다리고 있음을 인지합니다. 하지만 입력이 두 개 이상이고 메서드가 IsInputReady 한 입력이 차단되었다고 표시하면, 메서드의 GetDependentInputs 추가 코드가 더 많은 데이터를 받기를 기다리는 입력을 식별합니다.

커스텀 data flow 컴포넌트의 입력이 불균등한 속도로 데이터를 생성할 경우 과도한 메모리 사용량 처리에 대한 자세한 내용은 'Developing Data Flow Components with Multiple Inputs'를 참고하세요.

적용 대상