2

私は SQL Server と SSIS が初めてで、このシナリオがあります。私はこれをコーディングして TSQL で作業しており、SSIS が提供するエラー処理の一部を使用したいので、SSIS でそれを実行できるかどうかを調べようとしています。現在、これを SQL 2008 で実行していますが、2012 を使用して SSIS をテストしています。これが私のシナリオです。

FIXED WIDTH FLAT FILE FORMAT:
HEADER CODE FILE_TYPE DATE
CODE LAST_NAME FIRST_NAME GENDER
TRAILER CODE DATE RECORD_COUNT

フラットファイルの内容:

H0123ABC07222013
98765スミス・トム・M
94586ジョンソンビルM
T0123072220132

TSQL での私の手順は、大きな一時テーブルへの BULK INSERT と 1 つの列としてのロード
です。次のクエリ文字列を
作成します。FOR XML を使用して SUBSTRING を使用し、ヘッダー値に where 句を使用して値

選択し、FOR XML を使用して SUBSTRING を使用し、where 句を使用して値を選択します。 DETAILS 値の場合

FOR XML を使用して SUBSTRING を使用し、TRAILER 値に where 句を使用して値を選択します

例えば:

SELECT @sql1 = (SELECT
    (ヘッダーとして SUBSTRING(temp,1,2) を選択し、
             SUBSTRING(temp,3,3) を CODE として、
             SUBSTRING(temp,6,3) を File_Type として、
             SUBSTRING(temp,9,8) as Cycle_Date
        FROM TestLoad
       WHERE SUBSTRING(temp,1,2) = 'H0'
    為に
    XML パス('HEADER'),
    タイプ
    )、...

そのクエリの結果は、XML データ型の列に挿入されます

データに一致するように構造化されたテーブルへのSSIS書き込みでこれを行う方法に関する情報を見つけましたが、データをXMLに変換してファイルの順序をそのまま維持する方法が見つかりませんでした。XML 変換は、私が苦労しているところです。

ありがとう

4

0 に答える 0