ADO.NET Provider for REST

Build 24.0.9062

トップレベルのドキュメントモデル

データのトップレベルドキュメントビューを使用すると、トップレベルのエレメントにすぐにアクセスできます。本製品 は、集計にネストされたエレメントを単一のカラムとして返します。

考慮すべき一つの側面はパフォーマンスです。ネストされたエレメントを処理してパースする時間とリソースを控えます。本製品 は、データを読み込むためにストリーミングを使用して、返されたデータを一度パースします。もう一つ考慮すべきは、ネストされた親エレメントに格納されているデータにアクセスする必要があることと、ツールやアプリケーションがJSON またはXML を処理する能力です。

トップレベルドキュメントビューのモデリング

DataModel が"Document"(デフォルト)に設定されている場合、本製品 はデフォルトでトップレベルのエレメントである単一のエレメントのみをスキャンします。デフォルトのオブジェクトフラット化により、トップレベルのエレメントはカラムとして利用可能です。ネストされたエレメントは集計として返されます。

XPath を設定すると、トップレベル以外のエレメントを指定できます。

以下は、Raw データ のサンプルドキュメントに基づいたサンプルクエリとその結果です。クエリの結果、XPath "/root/people" に基づいた単一の"people" テーブルが作成されます。

接続文字列

DataModel 接続プロパティを"Document" に設定して次のクエリを実行し、サンプル結果セットを表示します。本製品 は以下のXPath 値のみをスキャンします。

URI=C:\people.txt;Format=XML;DataModel=Document;XPath='/root/people';

クエリ

次のクエリは、トップレベルのエレメントと車両エレメントのサブエレメントを結果にプルします。

SELECT
  [personal.age] AS age,
  [personal.gender] AS gender,
  [personal.name.first] AS name_first,
  [personal.name.last] AS name_last,
  [source],
  [vehicles]
FROM
  [people]
  

結果

データのドキュメントビューでは、personal エレメントが4カラムにフラット化され、source とvehicles エレメントが個別のカラムとして返され、結果として6カラムのテーブルが作成されます。

agegendername_firstname_lastsourcevehicles
20MJohnDoeinternet
  <vehicles><type>car</type><model>Honda Civic</model><insurance><company>ABC Insurance</company><policy_num>12345</policy_num></insurance><features>sunroof</features><features>rims</features><maintenance><date>07-17-2017</date><desc>oil change</desc></maintenance><maintenance><date>01-03-2018</date><desc>new tires</desc></maintenance></vehicles><vehicles><type>truck</type><model>Dodge Ram</model><insurance><company>ABC Insurance</company><policy_num>12345</policy_num></insurance><features>lift kit</features><features>tow package</features><maintenance><date>08-27-2017</date><desc>new tires</desc></maintenance><maintenance><date>01-08-2018</date><desc>oil change</desc></maintenance></vehicles>
24FJaneRobertsphone
  <vehicles><type>car</type><model>Toyota Camry</model><insurance><company>Car Insurance</company><policy_num>98765</policy_num></insurance><features>upgraded stereo</features><maintenance><date>05-11-2017</date><desc>tires rotated</desc></maintenance><maintenance><date>11-03-2017</date><desc>oil change</desc></maintenance></vehicles><vehicles><type>car</type><model>Honda Accord</model><insurance><company>Car Insurance</company><policy_num>98765</policy_num></insurance><features>custom paint</features><features>custom wheels</features><maintenance><date>10-07-2017</date><desc>new air filter</desc></maintenance><maintenance><date>01-13-2018</date><desc>new brakes</desc></maintenance></vehicles>

関連項目

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062