Компонент BIML CDCSplitter

Я получаю сообщение об ошибке в CDCSplitter, созданном с использованием кода BIML, я новичок в SSIS и BIML. Ошибка, которую я получаю,

Ошибка: 0xC0047062 в DFT Incremental load_Source1, CDCSplitter [92]: System.ArgumentException: значение не попадает в ожидаемый диапазон. в Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSBuffer100.DirectRow(Int32 hRow, Int32 lOutputID) в Attunity.SqlServer.CDCSplit.CdcSplitterComponent.ProcessInput(Int32 inputId, буфер PipelineBuffer) в Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostcessProInput (Оболочка IDTSManagedComponentWrapper100, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)


person prathmanu    schedule 04.07.2016    source источник


Ответы (1)


Нашел решение, делюсь с другими, если кто столкнется с той же проблемой

Перепишите приведенный выше код BIML, чтобы

<CustomComponent Name="CDCSplitter"
                    ComponentClassId="{874F7595-FB5F-40FF-96AF-FBFF8250E3EF}"
                    ComponentTypeName="Attunity.SqlServer.CDCSplit.CdcSplitterComponent, Attunity.SqlServer.CDCSplit, Version=1.0.0.0, Culture=neutral, PublicKeyToken=aa342389a732e31c"
                    ContactInfo="Attunity Ltd.; All Rights Reserved; http://www.attunity.com;"
                    UsesDispositions="true"
                    Version="1"
                    ValidateExternalMetadata="false">
                  <Annotations>
                    <Annotation AnnotationType="Description">Directs a stream of net change records into different outputs based on the type of the change (Insert, Delete and Update). This allows specific handling for different types of change records.</Annotation>
                  </Annotations>
                  <InputPaths>
                    <InputPath Identifier="Input" OutputPathName="CDCSource.Output" >
                      <InputColumns>
                        <InputColumn SourceColumn="__$start_lsn"  />
                        <InputColumn SourceColumn="__$operation"   />
                        <InputColumn SourceColumn="__$update_mask" />
                         <# foreach (var column in table.Columns) { #>
                        <InputColumn SourceColumn="<#=column.Name#>"  />
                       <# } #>
                      </InputColumns>
                    </InputPath>
                  </InputPaths>
                  <OutputPaths>
                    <OutputPath Name="InsertOutput" SynchronousInput="Input" ExclusionGroup="1">
                      <Annotations>
                        <Annotation AnnotationType="Description">Output type - Insert.</Annotation>
                      </Annotations>
                      <CustomProperties>
                        <CustomProperty Name="OutputType" DataType="Int32"
                                        TypeConverter="Attunity.SqlServer.CDCSplit.OutputType, Attunity.SqlServer.CDCSplit, Version=1.0.0.0, Culture=neutral, PublicKeyToken=aa342389a732e31c"
                                    >0</CustomProperty>
                      </CustomProperties>
                      <OutputColumns>
                      
                      </OutputColumns>
                      <ExternalColumns /> 
                    </OutputPath>

                    <OutputPath Name="UpdateOutput" SynchronousInput="Input" ExclusionGroup="1">
                      <Annotations>
                        <Annotation AnnotationType="Description">Output type - Update.</Annotation>
                      </Annotations>
                      <CustomProperties>
                        <CustomProperty Name="OutputType" DataType="Int32"
                                        TypeConverter="Attunity.SqlServer.CDCSplit.OutputType, Attunity.SqlServer.CDCSplit, Version=1.0.0.0, Culture=neutral, PublicKeyToken=aa342389a732e31c"
                                    >1</CustomProperty>
                      </CustomProperties>
                       <OutputColumns>
                       
                      </OutputColumns>
                    </OutputPath>

                    <OutputPath Name="DeleteOutput" SynchronousInput="Input" ExclusionGroup="1">
                      <Annotations>
                        <Annotation AnnotationType="Description">Output type - Delete.</Annotation>
                      </Annotations>
                      <CustomProperties>
                        <CustomProperty Name="OutputType" DataType="Int32"
                                        TypeConverter="Attunity.SqlServer.CDCSplit.OutputType, Attunity.SqlServer.CDCSplit, Version=1.0.0.0, Culture=neutral, PublicKeyToken=aa342389a732e31c"
                                    >2</CustomProperty>
                      </CustomProperties>
                        <OutputColumns>
                      
                      </OutputColumns>
                    </OutputPath>

                    <OutputPath Name="ErrorOutput" IsErrorOutput="true"  SynchronousInput="Input" ExclusionGroup="1">
                      <Annotations>
                        <Annotation AnnotationType="Description">Output type - Error.</Annotation>
                      </Annotations>
                      <CustomProperties>
                        <CustomProperty Name="OutputType" DataType="Int32"
                                        TypeConverter="Attunity.SqlServer.CDCSplit.OutputType, Attunity.SqlServer.CDCSplit, Version=1.0.0.0, Culture=neutral, PublicKeyToken=aa342389a732e31c"
                                    >3</CustomProperty>
                      </CustomProperties>
                       <OutputColumns>
                      
                      </OutputColumns>
                      <ExternalColumns />
                    </OutputPath>

                  </OutputPaths>


                </CustomComponent>

person prathmanu    schedule 06.07.2016