作業 2: フラット ファイル接続マネージャの追加と構成
この実習では、先ほど作成したパッケージにフラット ファイル接続マネージャを追加します。パッケージにフラット ファイル接続マネージャを追加すると、フラット ファイルからデータを抽出できるようになります。フラット ファイル接続マネージャでは、フラット ファイルからデータを抽出するときに適用するファイルの名前と場所、ロケールとコード ページ、およびファイル形式を指定できます。また、列区切り記号も指定できます。さらに、各列のデータ型を手動で指定できます。[列の型の予測] ダイアログ ボックスを使用して、抽出したデータの列を Integration Services データ型に自動的にマップすることもできます。
通常は、操作する各フラット ファイルについて、新しいフラット ファイル接続マネージャを作成する必要があります。ただし、このチュートリアルでは、データ形式がまったく同じである複数のフラット ファイルからデータを抽出するので、フラット ファイル接続マネージャを 1 つだけパッケージに追加して、構成します。
このチュートリアルでは、フラット ファイル接続マネージャで次のプロパティを構成します。
列名 フラット ファイルには列名がないので、フラット ファイル接続マネージャによって既定の列名が作成されます。これらの既定の列名は、各列の内容を明確に表していません。わかりやすい名前にするには、既定の列名を変更し、フラット ファイル データの読み込み先であるファクト テーブルと一致する名前を付ける必要があります。
データのマッピング フラット ファイル接続マネージャのデータ型マッピングを指定します。このマッピングは、その接続マネージャを参照するすべてのフラット ファイル データ ソース コンポーネントが使用します。フラット ファイル接続マネージャでは、データ型を手動でマップできます。また、[列の型の予測] ダイアログ ボックスを使用してマップすることもできます。このチュートリアルでは、[列の型の予測] ダイアログ ボックスで予測されたマッピングを表示し、[フラット ファイル接続マネージャ エディタ] ダイアログ ボックスで必要なマッピングを手動で行います。
フラット ファイル接続マネージャでは、データ ファイルに関するロケール情報が提供されます。コンピュータが、地域オプション [英語 (米国)] を使用するように構成されていない場合、[フラット ファイル接続マネージャ エディタ] ダイアログ ボックスで追加のプロパティを設定する必要があります。
フラット ファイル接続マネージャを追加するには
[接続マネージャ] 領域内を右クリックし、[新しいフラット ファイル接続] をクリックします。
[フラット ファイル接続マネージャ エディタ] ダイアログ ボックスで、[接続マネージャ名] に「Sample Flat File Source Data」と入力します。
[参照] をクリックします。
[ファイルを開く] ダイアログ ボックスでサンプル データ フォルダを探し、SampleCurrencyData.txt ファイルを開きます。既定では、このチュートリアルのサンプル データは、C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data フォルダにインストールされます。
ロケール依存型のプロパティを設定するには
[フラット ファイル接続マネージャ エディタ] ダイアログ ボックスで、[全般] をクリックします。
[ロケール] を [英語 (米国)] に、[コード ページ] を [1252] に設定します。
フラット ファイル接続マネージャで列名を変更するには
[フラット ファイル接続マネージャ エディタ] ダイアログ ボックスで、[詳細設定] をクリックします。
プロパティ ペインで、次のように変更します。
[列 0] の Name プロパティを「AverageRate」に変更します。
[列 1] の Name プロパティを「CurrencyID」に変更します。
[列 2] の Name プロパティを「CurrencyDate」に変更します。
[列 3] の Name プロパティを「EndOfDayRate」に変更します。
注 既定では、4 つのすべての列が文字列データ型 [DT_STR] に設定され、OutputColumnWidth は 50 に設定されます。
列のデータ型を変更するには
[フラット ファイル接続マネージャ エディタ] ダイアログ ボックスで、[型の推測] をクリックします。
Integration Services は、最初の 100 行分のデータに基づいて最適なデータ型を自動的に予測します。この推測オプションを変更して、サンプルの行数を変更したり、整数またはブール データの既定のデータ型を指定したり、文字列の列の余白としてスペースを挿入することもできます。
ここでは [列の型の予測] ダイアログ ボックスのオプションを変更せずに、[OK] をクリックして Integration Services に列のデータ型を予測させます。これによって [フラット ファイル接続マネージャ エディタ] ダイアログ ボックスの [詳細設定] ペインに戻ります。そのペインで Integration Services によって予測された列のデータ型を確認できます ([キャンセル] をクリックすると、列のメタデータの予測は行われず、既定の文字列データ型 (DT_STR) が使用されます)。
このチュートリアルでは、SampleCurrencyData.txt ファイルのデータに対応するデータ型を Integration Services が推測します。推測されたデータ型は、下表の 2 列目に示されています。一方、変換先の列に必要なデータ型 (以降の手順で定義します) は、下表の 4 列目に示されています。
フラット ファイルの列
推測されたデータ型
変換先の列
変換先のデータ型
AverageRate
浮動小数点 [DT_R4]
FactCurrencyRate.AverageRate
Float
CurrencyID
文字列 [DT_STR]
DimCurrency,CurrencyAlternateKey
nchar(3)
CurrencyDate
日付 [DT_DATE]
DimTime.FullDateAlternateKey
datetime
EndOfDayRate
浮動小数点 [DT_R4]
FactCurrencyRate.EndOfDayRate
Float
CurrencyID 列および CurrencyDate 列で推測されたデータ型は、変換先テーブルのフィールドのデータ型と互換性がありません。DimCurrency.CurrencyAlternateKey のデータ型は nchar (3) なので、CurrencyID のデータ型を文字列 [DT_STR] から文字列 [DT_WSTR] に変更する必要があります。また、DimTime.FullDateAlternateKey フィールドは DateTime データ型として定義されるため、CurrencyDate のデータ型を、日付 [DT_Date] からデータベース タイムスタンプ [DT_DBTIMESTAMP] に変更する必要があります。
プロパティ ペインで、CurrencyID 列のデータ型を、文字列 [DT_STR] から Unicode 文字列 [DT_WSTR] に変更します。
プロパティ ペインで、CurrencyDate 列のデータ型を、日付 [DT_DATE] からデータベース タイムスタンプ [DT_DBTIMESTAMP] に変更します。
[OK] をクリックします。