XML文書のテキスト表現をテーブルのXML列に格納するために実行する典型的なタスクは、以下のようになります。
- XML文書を入れるXML列を定義したテーブルを作成します。
- 文書をテーブルにロードするための適切な手法を判別します。FastLoadやMultiLoadなど、一部のロード ユーティリティではLOBやXMLがサポートされないことに注意してください。 ただし、次の場合にこれらのユーティリティを使用してXMLデータをロードできます。
- XMLデータはそれが64KB未満の場合はロードできます。ターゲット テーブルは列をCHARまたはVARCHARとして定義します。
- XMLとVARCHARまたはVARBYTEとの間で相互に変換を行なう変換グループを使用する場合。
VARCHARまたはVARBYTE変換を使用してFastLoadまたはMultiLoadを利用するXMLデータをロードする場合、インポートされたデータは行に収まる必要があります。インラインで格納できない場合、入力行はエラー テーブルに保存されます。
64KBより大きい文書の場合は、LOBサポートのあるユーティリティを使用してください。- MLOADXプロトコルは、任意の変換を使用して、種類の指定されたインライン長の制限なしでLOB XMLデータをロードできます。
- Teradata Parallel Transporterでは、大きいXML文書のロードが全面的にサポートされています。
- BTEQで大きいXML 文書のロードがサポートされるのはASCII セッション文字セットのみであり、それはXMLのデフォルト文字セットではありません。
- NEW XML演算子またはCREATEXML関数を使用して、XMLテキストをXML列に挿入します。
XML文書をロードする際には、
- 値をセッション文字セットに変換する場合、XML文書のエンコーディングを考慮してください。例えば、文書をVARCHARとしてロードする場合、セッション文字セットで表記できない文字が文書に含まれていると、エラーが発生することがあります。
- XML文書の各部分をシュレッディングして、インデックス作成可能な他のSQL型の列に入れることを検討してください。そのほうが、XML値取り出しのパフォーマンスが高くなります。