スキーマ生成
自動スキーマ検出 を使用して動的に検出されたスキーマをより細かく制御するには、スキーマをコンフィギュレーションファイルに保存することができます。GenerateSchemaFiles プロパティを使用すると、接続文字列で設定されたデータモデリング設定に基づいてスキーマを自動的に生成できます。CreateSchema ストアドプロシージャを使用すると、接続後に他のXPath のスキーマを作成できます。
スキーマファイルの自動生成
接続時、もしくはクエリ実行時にスキーマを生成することができます。本製品 は、Location で指定したフォルダにスキーマを保存します。
- 接続時に検出されたすべてのテーブルのスキーマを生成するには、GenerateSchemaFiles をOnStart に設定します。
- テーブルをクエリするときに参照されるテーブルのスキーマを生成するには、GenerateSchemaFiles をOnUse に設定します。
CreateSchema ストアドプロシージャの使用
CreateSchema ストアドプロシージャを呼び出して、指定したXPaths のスキーマファイルを生成できます。以下は、ストアドプロシージャの入力と出力です。
Input
Name | Type | Description |
TableName | String | テーブル名およびスキーマ(RSD)ファイル名。 |
URI | String | JSON リソースのUniform Resource Identifier (URI)。 |
JSONPath | String | JSON ドキュメント内で同じ階層で繰り返すエレメントのJSONPath。(これは、ドキュメントを複数の行に分割するために使われます)。複数のパスをセミコロン区切りリストで指定します。 |
FileLocation | String | 生成されたスキーマ(RSD)ファイルが保存されるフォルダパス。指定された場合には、TableName はスキーマファイル名として使われます。 |
FileName | String | 生成されたスキーマの完全なスキーマ(RSD)ファイル名。このインプットはFileLocation よりも優先されます。 |
Output
Name | Type | Description |
Result | String | Success またはFailure を返します。 |
ストアドプロシージャ呼び出しの例
接続文字列のDataModel をFLATTENDOCUMENTS に設定すると、下のサンプルストアドプロシージャコールでは、すべてのJSONPath 配列を単一テーブルにフラット化するスキーマが生成されます。このデータモデルについて詳しくは、フラット化されたドキュメントモデル を参照してください。
EXECUTE CreateSchema TableName='GenPeople',
FileLocation='C:\\tests\\scripts',
URI='C:\\tests\\people.json',
JSONPath='$.people;$.people.vehicles;$.people.vehicles.maintenance'