1

幅が約 1200 文字で、約 300 列以上の固定幅ファイルがあります。フラット ファイル接続マネージャーの UI を使用せずに、SSIS で固定幅のデータ ソースを作成する方法を探しています。SSIS で UI を使用せずに列の定義を変更する方法はありますか? プロジェクトのどこにもデータ接続用のファイルが見つかりません。

フラットファイル接続マネージャーに 300 以上の列を 1 つずつ手動で追加する運命にあるのでしょうか?

4

1 に答える 1

5

2つのオプションが思い浮かびます。1 つ目は、BIDSHelper をインストールし、Create Fixed Width Columnsを使用することです。

もう1つは、@ElectricLlamaが述べたように、BIMLを使用することです。これも BIDS Helper のインストールが必要ですが、.biml ファイルを .dtsxショート ウォークスルーに変換する必要があります。

これは、データ フローを追加するフラット ファイル接続マネージャー (単一の列を含む) を含むパッケージの作成と、フラット ファイルを消費して行数に接続するパッケージの作成に似ているはずです。これは、あなたが望むものの概算です。XML を Columns タグに入力するだけです。

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Connections>
    <FlatFileConnection
        Name="FF dchess"
        FileFormat="FFF dchess"
        FilePath="C:\ssisdata\SO\Input\dchess.txt"
    />
</Connections>
<FileFormats>
    <FlatFileFormat
Name="FFF dchess"
CodePage="1252"
RowDelimiter="CRLF"
IsUnicode="false"
FlatFileType="RaggedRight"
        >
        <Columns>
            <Column Name="MyColumn" Length="08"  DataType="AnsiString"  ColumnType="FixedWidth"  CodePage="1252" />
        </Columns>
    </FlatFileFormat>
</FileFormats>
<Packages>
    <Package Name="dchess" ConstraintMode="Linear" ProtectionLevel="DontSaveSensitive">
        <Connections >
            <Connection ConnectionName="FF dchess" />
        </Connections>
        <Variables>
            <Variable Name="CurrentFileName" DataType="String">C:\ssisdata\so\Input\dchess.txt</Variable>
            <Variable Name="RowCountInsert" DataType="Int32">0</Variable>
        </Variables>
        <Tasks>
            <Dataflow Name="DFT Load file" >
                <Transformations>
                    <FlatFileSource
                        Name="FF_SRC dchess"
                        ConnectionName="FF dchess"
                        RetainNulls="true">
                    </FlatFileSource>
                    <RowCount Name="CNT Source" VariableName="User.RowCountInsert"></RowCount>
                </Transformations>
            </Dataflow>
        </Tasks>
    </Package>
</Packages>
</Biml>

生成されたパッケージは次のようになります

ここに画像の説明を入力

あごを地面から持ち上げてください;)

于 2013-10-09T01:46:50.607 に答える