PipelineComponent.GetDependentInputs(Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
추가 데이터를 기다리고 있는 입력들의 입력 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'를 참고하세요.