XML フォーマット ファイルについて
MicrosoftSQL Server 2005 以降のバージョンには、XML フォーマット ファイルを記述するための構文を定義した XML スキーマが用意されています。このスキーマは XML Schema Definition Language (XSDL) で定義されています。XML フォーマット ファイルはこのスキーマに準拠している必要があります。XML フォーマット ファイルは SQL Server ツールが SQL Server Native Client と共にインストールされている場合のみサポートされます。
注意 |
---|
SQL Server 2005 以降のバージョンでは、2 種類のフォーマット ファイルがサポートされます。これに対し、MicrosoftSQL Server 2000 以前のバージョンでは、1 種類のフォーマット ファイルしかサポートされていません。XML フォーマット ファイルを既存の種類と区別するため、既存の種類のフォーマット ファイルを XML 以外のフォーマット ファイルと呼びます。 |
XML フォーマット ファイルを使用すると、テーブルまたは非パーティション ビューにデータの一括インポートを行ったり、データの一括エクスポートを行ったりすることができます。XML フォーマット ファイルは、SQL Server 2000 以前のバージョンでサポートされている (および現在でもサポートされている) XML 以外のフォーマット ファイルに代わるものです。XML フォーマット ファイルは XML 以外のフォーマット ファイルに比べ、柔軟かつ強力です。また、理解しやすく容易に作成できます。さらに、人間に読みやすいように書かれているので、一括操作でのデータの解釈方法を容易に理解できます。XML エンコーディングでは、データ ファイルのデータ型およびデータ要素だけでなく、データ要素とテーブル列の間のマッピングを明確に記述できます。
XML フォーマット ファイルは機能を拡張できますが、以前のバージョンとの互換性も保たれます。さらに XML エンコーディングは明確なので、特定のデータ ファイルに対して複数のフォーマット ファイルを容易に作成できます。この特性は、データ フィールドの全体または一部を、さまざまなテーブルまたはビューの列にマップする必要がある場合に役立ちます。
bcp コマンドを使用して、あるテーブルに対する XML フォーマット ファイルを自動的に生成できます。詳細については、「bcp ユーティリティ」を参照してください。
XML フォーマット ファイルの構造
XML 以外のフォーマット ファイルと同様に、XML フォーマット ファイルでもデータ ファイル内のデータ フィールドの形式および構造を定義し、定義したデータ フィールドを 1 つのマップ先テーブル内の列にマップします。
XML フォーマット ファイルには、<RECORD> および <ROW> という 2 つの主要なコンポーネントがあります。
<RECORD> にはデータ ファイルに保存するデータをそのまま記述します。
各 <RECORD> 要素は、1 つ以上の <FIELD> 要素のセットを格納します。それらの要素はデータ ファイル内のフィールドに対応します。基本構文は次のとおりです。
<RECORD>
<FIELD .../> [ ...n ]
</RECORD>
各 <FIELD> 要素には、特定のデータ フィールドの内容を記述します。個々のフィールドは、テーブル内の 1 つの列にのみマップできます。すべてのフィールドを列にマップする必要はありません。
データ ファイルのフィールドは、固定/可変長にすることも、任意の文字で区切ることもできます。フィールドの値は、半角文字 (1 バイト表現を使用)、全角文字 (Unicode の 2 バイト表現を使用)、ネイティブ データベース形式、またはファイル名で表現できます。フィールドの値をファイル名で表現する場合、対象になるテーブルの BLOB 列の値を含むファイルをそのファイル名で指すようにします。
<ROW> には、データ ファイルから SQL Server テーブルにデータをインポートするときのデータ行の構成方法を記述します。
<ROW> 要素は、<COLUMN> 要素のセットを格納します。それらの要素はテーブル列に対応します。基本構文は次のとおりです。
<ROW>
<COLUMN .../> [ ...n ]
</ROW>
個々の <COLUMN> 要素は、データ ファイル内の 1 つのフィールドにのみマップできます。<ROW> 要素内の <COLUMN> 要素の順序により、一括操作で返される順序が決定されます。XML フォーマット ファイルでは、一括インポート操作の対象になるテーブルの列とのリレーションシップがない各 <COLUMN> 要素にローカル名が割り当てられます。
その他のトピック
XML フォーマット ファイルのスキーマ構文
XML フォーマット ファイルに対する XML スキーマの要素および属性について概要を説明します。XML フォーマット ファイルのサンプル
Adventure Works の例を基に、さまざまな状況で XML フォーマット ファイルを使用するときの情報について説明します。