2017-10-19 4 views
0

に変更しましたコンポーネントが生成され、dtsxが行われるが、 が、私はどこでも変換はBIMLにマージ結合 - 必要性のNumKeyColumnsは、私はBIMLファイルとほぼ準備ができていたが、私は、私は、標準のマージがBIML と99%の作品に参加入れしようとしていたもう一つの問題</p> <p>を持っており、1

<properties> 
      <property dataType="System.Int32" description="Specifies the type of join to perform." name="JoinType" typeConverter="JoinType">0</property> 
      <property dataType="System.Int32" description="Specifies the number of columns in the ordering key." name="NumKeyColumns">0</property> 
      <property dataType="System.Boolean" description="Indicates whether the null values are treated as equal values." name="TreatNullsAsEqual">true</property> 
      <property dataType="System.Int32" description="Indicates the requested maximum buffers per input before blocking." name="MaxBuffersPerInput">5</property> 
      </properties> 

numKeyColumns値を設定することはできません私はjointype を設定することができます。しかしdtsxが、それは0に記入します生成されたとき、私はnumKeyColumns を見つけることができません すべてのヘルプは大幅

答えて

0

を高く評価され、私はあなたがMergeJoinためJoinKey属性が欠落していたと思います

  <MergeJoin Name="Merge Join" JoinType="FullOuterJoin"> 
      <LeftInputPath OutputPathName="Source.Output"> 
      <Columns> 
       <Column SourceColumn="BK" IsUsed="true" SortKeyPosition="1" TargetColumn="sBK" /> 
       <Column SourceColumn="hbSource" IsUsed="true" /> 
      </Columns> 
      </LeftInputPath> 
      <RightInputPath OutputPathName="Dwh Destination.Output"> 
      <Columns> 
       <Column SourceColumn="BK" IsUsed="true" TargetColumn="dBK" /> 
       <Column SourceColumn="hbDestination" IsUsed="true" /> 
      </Columns> 
      </RightInputPath> 
     </MergeJoin> 

これは、マージでは、(着信接続なし)BIMLに参加する必要があります。構文的に正しいSSISパッケージの発行に許可されているものを追加する。それが論理的に正しいかどうかは別の問題です;)

これはあなたがやろうとしていることではないことを教えてください。 Bimlを助けてくれることを嬉しく思う。

<Biml xmlns="http://schemas.varigence.com/biml.xsd"> 
    <Connections> 
     <OleDbConnection Name="SRC" ConnectionString="Provider=SQLNCLI11;Server=localhost\dev2016;Initial Catalog=tempdb;Integrated Security=SSPI;" /> 
    </Connections> 
    <Packages> 
     <Package Name="MergeJoin"> 
      <Tasks> 
       <Dataflow Name="DFT Demo"> 
        <Transformations> 
         <OleDbSource Name="Source" ConnectionName="SRC"> 
          <Columns> 
           <Column SourceColumn="BK" SortKeyPosition="1" /> 
          </Columns> 
          <DirectInput>SELECT 1 AS BK, 'foo' AS hbSource UNION SELECT 2, 'ick' order by 1;</DirectInput> 
         </OleDbSource> 
         <OleDbSource Name="Dwh Destination" ConnectionName="SRC"> 
          <Columns> 
           <Column SourceColumn="BK" SortKeyPosition="1" /> 
          </Columns> 
          <DirectInput>SELECT 1 AS BK, 'foo' AS hbDestination UNION SELECT 3, 'zoo' order by 1;</DirectInput> 
         </OleDbSource> 
         <MergeJoin Name="Merge Join" JoinType="FullOuterJoin"> 
          <LeftInputPath OutputPathName="Source.Output"> 
           <Columns> 
            <Column SourceColumn="BK" IsUsed="true" SortKeyPosition="1" TargetColumn="sBK" /> 
            <Column SourceColumn="hbSource" IsUsed="true" /> 
           </Columns> 
          </LeftInputPath> 
          <RightInputPath OutputPathName="Dwh Destination.Output"> 
           <Columns> 
            <Column SourceColumn="BK" IsUsed="true" TargetColumn="dBK" /> 
            <Column SourceColumn="hbDestination" IsUsed="true" /> 
           </Columns> 
          </RightInputPath> 
          <JoinKeys> 
           <JoinKey LeftColumn="BK" RightColumn="BK" /> 
          </JoinKeys> 
         </MergeJoin> 
        </Transformations> 
       </Dataflow> 
      </Tasks> 
     </Package> 
    </Packages> 
</Biml> 
+1

あなたがやった! はい私はそれを追加していませんでした(追加したと思っていましたが、おそらく別のテストバージョンで) 本当にうまく機能していたかどうかを2回テストしました。 ありがとう、私はまたお茶を飲むのが大好きです:-) – John

関連する問題

 関連する問題