다음을 통해 공유


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입니다.

반환

추가 데이터를 기다리고 있으며 따라서 blockedInputID 매개 변수로 식별된 입력을 차단하고 있는 입력의 입력 ID로 구성된 컬렉션을 반환합니다.

예제

차단된 특정 입력의 경우 메서드의 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;  
}  

설명

속성 값을 Microsoft.SqlServer.Dts.Pipeline.DtsPipelineComponentAttribute.SupportsBackPressure 해당 값 true 으로 DtsPipelineComponentAttribute설정하고 사용자 지정 데이터 흐름 구성 요소가 두 개 이상의 입력을 지원하는 경우 메서드에 대한 GetDependentInputs 구현도 제공해야 합니다.

데이터 흐름 엔진은 사용자가 구성 요소에 세 개 이상의 입력을 연결한 경우에만 GetDependentInputs 메서드를 호출합니다. 구성 요소에 입력이 두 개만 있고 IsInputReady 메서드가 한 입력이 차단됨을 나타내는 경우 데이터canProcess = false 흐름 엔진은 다른 입력이 더 많은 데이터를 받기 위해 대기 중임을 알고 있습니다. 그러나 두 개 이상의 입력이 있고 IsInputReady 메서드가 하나의 입력이 차단되었음을 나타내는 경우 메서드의 GetDependentInputs 추가 코드는 더 많은 데이터를 받기 위해 대기 중인 입력을 식별합니다.

사용자 지정 데이터 흐름 구성 요소의 입력이 균일하지 않은 속도로 데이터를 생성하는 경우 과도한 메모리 사용 처리에 대한 자세한 내용은 여러 입력을 사용하여 Data Flow 구성 요소 개발을 참조하세요.

적용 대상