38 SDO_WFS_PROCESSパッケージ(WFSの処理)
MDSYS.SDO_WFS_PROCESSパッケージには、Web Feature Servicesのサポートに関連する各種処理操作を行うサブプログラムが含まれています。
この章で説明するサブプログラムを使用する場合は、Web Feature Serviceの概念および使用方法を理解しておく必要があります(「Web Feature Service (WFS)のサポート」を参照)。
この章では、これらのサブプログラムのリファレンス情報をアルファベット順に説明します。
トピック:
- SDO_WFS_PROCESS.DropFeatureType
- SDO_WFS_PROCESS.DropFeatureTypes
- SDO_WFS_PROCESS.GenCollectionProcs
- SDO_WFS_PROCESS.GetFeatureTypeId
- SDO_WFS_PROCESS.GrantFeatureTypeToUser
- SDO_WFS_PROCESS.GrantMDAccessToUser
- SDO_WFS_PROCESS.InsertCapabilitiesInfo
- SDO_WFS_PROCESS.InsertFtDataUpdated
- SDO_WFS_PROCESS.InsertFtMDUpdated
- SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo
- SDO_WFS_PROCESS.PublishFeatureType
- SDO_WFS_PROCESS.Publish_FeatureTypes_In_Schema
- SDO_WFS_PROCESS.RegisterMTableView
- SDO_WFS_PROCESS.RevokeFeatureTypeFromUser
- SDO_WFS_PROCESS.RevokeMDAccessFromUser
- SDO_WFS_PROCESS.UnRegisterMTableView
38.1 SDO_WFS_PROCESS.DropFeatureType
構文
SDO_WFS_PROCESS.DropFeatureType( ftnsUrl IN VARCHAR2, ftName IN VARCHAR2);
説明
指定したフィーチャ・タイプを削除します。
使用上の注意
複数表ビューからのコンテンツを持つフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャをコールする前に、SDO_WFS_PROCESS.UnRegisterMTableViewプロシージャをコールする必要があります。
名前空間内のすべてのフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypesプロシージャを使用できます。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、指定した名前空間にあるCOLA
というフィーチャ・タイプを削除します。
BEGIN SDO_WFS_PROCESS.dropFeatureType('http://www.example.com/myns','COLA'); END; /
38.2 SDO_WFS_PROCESS.DropFeatureTypes
構文
SDO_WFS_PROCESS.DropFeatureTypes( ftnsUrl IN VARCHAR2);
説明
指定した名前空間内のすべてのフィーチャ・タイプを削除します。
使用上の注意
名前空間内の単一のフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、指定した名前空間内のすべてのフィーチャ・タイプを削除します。
BEGIN SDO_WFS_PROCESS.dropFeatureTypes('http://www.example.com/myns'); END; /
38.3 SDO_WFS_PROCESS.GenCollectionProcs
構文
SDO_WFS_PROCESS.GenCollectionProcs();
説明
コレクションベースの列(例: VARRAYまたはネストされた表)を含むリレーショナル・フィーチャ・タイプのヘルパー・プロシージャを生成します。
パラメータ
なし。
使用上の注意
フィーチャ表にコレクションベースの列(例: VARRAYまたはネストされた表)で定義されたフィーチャが含まれている場合は、このプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、コレクションベースの列を持つリレーショナル・フィーチャ・タイプのヘルパー・プロシージャを生成します。
BEGIN SDO_WFS_PROCESS.GenCollectionProcs; END; /
38.4 SDO_WFS_PROCESS.GetFeatureTypeId
構文
SDO_WFS_PROCESS.GetFeatureTypeId( ftnsUrl IN VARCHAR2, ftName IN VARCHAR2) RETURN NUMBER;
説明
指定したフィーチャ・タイプのフィーチャ・タイプIDを取得します。
使用上の注意
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、COLA
というフィーチャ・タイプのフィーチャ・タイプIDを取得します。
DECLARE ftid number; BEGIN ftId := SDO_WFS_PROCESS.GetFeatureTypeId('http://www.example.com/myns','COLA'); END; /
38.5 SDO_WFS_PROCESS.GrantFeatureTypeToUser
構文
SDO_WFS_PROCESS.GrantFeatureTypeToUser( ftnsUrl IN VARCHAR2, ftName IN VARCHAR2, userName IN VARCHAR2);
説明
フィーチャ・タイプへのアクセス権限をデータベース・ユーザーに付与します。
パラメータ
使用上の注意
フィーチャ・タイプへのアクセス権限をデータベース・ユーザーから取り消すには、SDO_WFS_PROCESS.RevokeFeatureTypeFromUserプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、COLA
というフィーチャ・タイプへのアクセス権限をユーザーSMITH
に付与します。
BEGIN SDO_WFS_PROCESS.GrantFeatureTypeToUser('http://www.example.com/myns','COLA', 'SMITH'); END; /
38.6 SDO_WFS_PROCESS.GrantMDAccessToUser
構文
SDO_WFS_PROCESS.GrantMDAccessToUser( userName IN VARCHAR2);
説明
Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーに付与します。
使用上の注意
このプロシージャをコールするには、DBAロールを持つユーザーとしてデータベースに接続する必要があります。
Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーから取り消すには、SDO_WFS_PROCESS.RevokeMDAccessFromUserプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、Web Feature Serviceメタデータ表へのアクセス権限をWFS_REL_USER
というデータベース・ユーザーに付与します。
BEGIN SDO_WFS_PROCESS.GrantMDAccessToUser('WFS_REL_USER'); END; /
38.7 SDO_WFS_PROCESS.InsertCapabilitiesInfo
構文
SDO_WFS_PROCESS.InsertCapabilitiesInfo( capabilitiesInfo IN XMLTYPE);
説明
機能テンプレート情報を挿入します。
使用上の注意
機能のドキュメントは、実行時に、WFSメタデータのフィーチャ・タイプ情報を機能テンプレートとバインディングすることによって動的に生成されます。機能のドキュメントについては、「機能のドキュメント」を参照してください。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、機能テンプレート情報を挿入します。
BEGIN SDO_WFS_PROCESS.insertCapabilitiesInfo( xmltype(bfilename('WFSUSERDIR', 'capabilitiesTemplate.xml'), nls_charset_id('AL32UTF8'))); END /
38.8 SDO_WFS_PROCESS.InsertFtDataUpdated
構文
SDO_WFS_PROCESS.InsertFtDataUpdated( ns IN VARCHAR2, name IN VARCHAR2, updatedRowList IN ROWPOINTERLIST, updateTs IN TIMESTAMP);
説明
データベースで1つ以上のフィーチャ・インスタンスのデータが更新されたことを示す通知を挿入します。
パラメータ
使用上の注意
このプロシージャは、WFSのキャッシュ・データを同期させるために使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、COLA_MARKETS_CS表内の特定のROWIDと関連付けられたフィーチャ・インスタンスのデータがデータベースで更新されたことを示す通知を挿入します。
. . . begin updatedRowIdList:= . . . -- list of rowIds of the -- WFS_REL_USER.COLA_MARKETS_CS table -- that have been updated. . . . SDO_WFS_PROCESS.InsertFtDataUpdated( 'http://www.example.com/myns','COLA', updatedRowIdList, sysdate); . . . end; /
38.9 SDO_WFS_PROCESS.InsertFtMDUpdated
構文
SDO_WFS_PROCESS.InsertFtMDUpdated( ns IN VARCHAR2, name IN VARCHAR2, updateTs IN TIMESTAMP);
説明
データベースでフィーチャ・タイプのメタデータが更新されたことを示す通知を挿入します。
使用上の注意
このプロシージャは、WFSのキャッシュ・メタデータを同期させるために使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、データベースでCOLA
フィーチャ・タイプのメタデータが更新されたことを示す通知を挿入します。
begin SDO_WFS_PROCESS.InsertFtMDUpdated( 'http://www.example.com/myns','COLA', sysdate); end; /
38.10 SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo
構文
SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo( xmlColTypeXsd IN XMLTYPE, fTypeId IN NUMBER, columnName IN VARCHAR2, objPathInfo IN MDSYS.STRINGLIST);
説明
XMLType列を持つリレーショナル・フィーチャ・タイプのメタデータを移入します。
パラメータ
使用上の注意
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、ROADS.xsd
内のXMLスキーマ定義で示され、DATACOLという名前のXMLType列に格納されているリレーショナル・フィーチャ・タイプのメタデータを移入します。
BEGIN SDO_WFS_PROCESS.populateFeatureTypeXMLInfo( xmltype(bfilename('WFSUSERDIR', 'ROADS.xsd'), nls_charset_id('AL32UTF8')), 1, 'DATACOL', mdsys.StringList('METADATA')); END; /
38.11 SDO_WFS_PROCESS.PublishFeatureType
構文
SDO_WFS_PROCESS.PublishFeatureType( dataSrc IN VARCHAR2, ftNsUrl IN VARCHAR2, ftName IN VARCHAR2, ftNsAlias IN VARCHAR2, featureDesc IN XMLTYPE, schemaLocation IN VARCHAR2, pkeyCol IN VARCHAR2, columnInfo IN MDSYS.STRINGLIST, pSpatialCol IN VARCHAR2, featureMemberNs IN VARCHAR2, featureMemberName IN VARCHAR2, srsNs IN VARCHAR2, srsNsAlias IN VARCHAR2, mandatoryColumnInfo IN MDSYS.STRINGLIST);
または
SDO_WFS_PROCESS.PublishFeatureType( dataSrc IN VARCHAR2, ftNsUrl IN VARCHAR2, ftName IN VARCHAR2, ftNsAlias IN VARCHAR2, featureDesc IN XMLTYPE, schemaLocation IN VARCHAR2, pkeyCol IN VARCHAR2, columnInfo IN MDSYS.STRINGLIST, pSpatialCol IN VARCHAR2, featureMemberNs IN VARCHAR2, featureMemberName IN VARCHAR2, srsNs IN VARCHAR2, srsNsAlias IN VARCHAR2, viewTableName IN VARCHAR2, viewTablepkeyCol IN VARCHAR2, mandatoryColumnInfo IN MDSYS.STRINGLIST);
または
SDO_WFS_PROCESS.PublishFeatureType( dataSrc IN VARCHAR2, ftNsUrl IN VARCHAR2, ftName IN VARCHAR2, ftNsAlias IN VARCHAR2, featureDesc IN XMLTYPE, schemaLocation IN VARCHAR2, pkeyCol IN VARCHAR2, columnInfo IN MDSYS.STRINGLIST, pSpatialCol IN VARCHAR2, featureMemberNs IN VARCHAR2, featureMemberName IN VARCHAR2, srsNs IN VARCHAR2, srsNsAlias IN VARCHAR2, featureCollectionNs IN VARCHAR2, featureCollectionName IN VARCHAR2, isGML3 IN VARCHAR2, formattedKeyCols IN MDSYS.STRINGLIST, viewTableName IN VARCHAR2, viewTablepkeyCol IN VARCHAR2, viewTableFmtKeyCols IN VARCHAR2, mandatoryColumnInfo IN MDSYS.STRINGLIST);
説明
フィーチャ・タイプをパブリッシュします(フィーチャ・タイプに関連するメタデータを登録します)。
パラメータ
- dataSrc
-
空間フィーチャを含むフィーチャ表またはビューの名前を指定します。schema-name.table-nameまたはschema-name.view-nameの書式で指定する必要があります。つまり、表の所有者であるデータベース・ユーザーの名前が含まれている必要があります。
- ftNsUrl
-
フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。
- ftName
-
フィーチャ・タイプの名前を指定します。
- ftNsAlias
-
フィーチャ・タイプの名前空間の別名を指定します。
- featureDesc
-
機能のドキュメントにXMLTYPE型のドキュメントとしてレポートされるフィーチャ・タイプの説明を指定します。
- schemaLocation
-
フィーチャ・タイプXSD内の
xsi:schemaLocation
属性の移入に使用する文字列を指定します。このパラメータがNULLの場合、文字列が自動生成されます。 - pkeyCol
-
dataSrc
で識別されるフィーチャ表またはビューの主キー列を指定します。フィーチャ・タイプ表またはビューの主キーが複数列の場合は、主キーに含まれる各列をセミコロンで区切ります。例:'COL1;COL2'
- columnInfo
-
dataSrc
で識別されるフィーチャ表内の各空間列(SDO_GEOMETRY型)に関連付けられたタイプの文字列を、MDSYS.STRINGLIST型のオブジェクトで指定します(例: WFS 1.1.nの場合、MDSYS.STRINGLIST('PolygonPropertyType', 'PointPropertyType')
など)。columnInfo
パラメータで指定される空間列については、「使用上の注意」を参照してください。 - pSpatialCol
-
フィーチャ表内のSDO_GEOMETRY型の空間列を指定します。
- featureMemberNs
-
フィーチャ・コレクション内のフィーチャ・インスタンスが含まれるフィーチャ・メンバー要素の名前空間を指定します。このパラメータがNULLである場合、デフォルトは
http://www.opengis.net/gml
です。 - featureMemberName
-
フィーチャ・コレクション内のフィーチャ・インスタンスが含まれるフィーチャ・メンバー要素の名前を指定します。このパラメータがNULLの場合、デフォルトは
featureMember
です。 - srsNs
-
フィーチャ・タイプの空間データと関連付けられた空間参照システム(座標系)のユーザー定義の名前空間を指定します。この名前空間は(指定されている場合)、GetFeatureリクエストに対する回答として生成されるFeatureCollectionの
<boundedBy>
要素内のsrsName
属性を生成するときにも使用されます。 - srsNsAlias
-
フィーチャ・タイプの空間データと関連付けられた空間参照システム(座標系)の名前空間の名前空間別名を指定します。
- featureCollectionNs
-
このフィーチャ・タイプのインスタンスが出現する可能性のあるWFSフィーチャ・コレクションの名前空間を指定します。
- featureCollectionName
-
このフィーチャ・タイプのインスタンスが出現する可能性のあるWFSフィーチャ・コレクションの名前を指定します。
- isGML3
-
文字列値を指定します。
Y
は、このフィーチャ・タイプのインスタンスに含まれるジオメトリがGML3.1.1に準拠していることを表します。N
は、このフィーチャ・タイプのインスタンスに含まれるジオメトリがGML 2.1.2に準拠していることを表します。 - formattedKeyCols
-
主キー列(複数列の主キーの場合は複数列)の内容を文字列書式で表現したものを指定します。たとえば、ROAD_IDがNUMBER型の主キー列である場合は、
MDSYS.STRINGLIST('to_char(ROAD_ID)')
と指定します。MDSYS.STRINGLIST型のコンストラクタ内で複数の文字列を指定する場合は、各文字列をカンマで区切ります。書式化された文字列の主キー列のリストは、pkeyCol
パラメータに主キー列が指定された同じ順番で指定する必要があります。 - viewTableName
-
フィーチャ・タイプが、基になる単一の表に基づいてビューに定義される場合は、基になる表の名前を指定します。パブリッシュされるフィーチャ・タイプは、
dataSrc
パラメータ(user-name.view-name)で指定したビューに基づきます。フィーチャ・タイプが表(または複数表ビュー)に基づいている場合は、viewTableName
パラメータには値を入力しないでください。 - viewTablepkeyCol
-
フィーチャ・タイプが、基になる単一の表に基づいてビューに定義される場合は、
viewTableName
パラメータで指定した表の主キー列を指定します。 - viewTableFmtKeyCols
-
フィーチャ・タイプが単一の表に定義されたビューに基づき、そのビューに1つ以上の書式化された主キー列がある場合は、このパラメータには基になる表に含まれる主キー列を書式化された文字列で表現したものを指定します。各列は、ビューに含まれる書式化された文字列の主キー列(
formattedkeyCols
パラメータで指定)に対応します。たとえば、ROAD_IDがNUMBER型の主キー列である場合は、MDSYS.STRINGLIST('to_char(ROAD_ID)')
と指定します。MDSYS.STRINGLIST型のコンストラクタ内で複数の文字列を指定する場合は、各文字列をカンマで区切ります。フィーチャ・タイプが単一表ビューに基づいていない場合、または単一表ビューに基づいているがフィーチャ・タイプに書式化済の主キー列がない場合は、このパラメータをNULLにする必要があります。
- mandatoryColumnInfo
-
リクエストした列に関係なく、GetFeatureリクエストで戻される必要のある列のリストを指定します。(リクエストした列は必ず戻されます。)このパラメータを省略した場合は、すべての列が必須になります(すべての列が戻されます)。ただし、このパラメータにNULLを指定した場合、必須の列はありません(リクエストした列のみ戻されます)。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、
MDSYS.STRINGLIST('COL1', 'COL2', 'COL5')
のように指定します。
使用上の注意
columnInfo
パラメータでは、フィーチャ・タイプのインスタンス表内のSDO_GEOMETRY型の各列に、columnInfo
パラメータで指定された正しい関連する文字列値(文字列値の順序は表の定義内の空間列の順序と同じ)が含まれている必要があります。
WFS 1.0.nの場合、たとえば、フィーチャ・タイプのインスタンス表内にあるSHAPEという名前の1つのSDO_GEOMETRY列にポリゴン・ジオメトリが含まれている場合、columnInfo
値はSHAPE_GEOMETRYTYPE>PolygonMemberType
となる必要があります。表38-1に、WFSバージョン1.0.nでのジオメトリ・タイプとこれらのタイプに関連付けられた必須のcolumnInfo
パラメータ値を示します。(<column-name>を列の名前に置換します。)
表38-1 ジオメトリ・タイプとcolumnInfoパラメータ値(WFS 1.0.n)
ジオメトリ・タイプ | columnInfoパラメータ値 |
---|---|
ポリゴンまたは面 |
<column-name>_GEOMETRYTYPE>PolygonMemberType |
複数のポリゴンまたは複数面 |
<column-name>_GEOMETRYTYPE>MultiPolygonMemberType |
点 |
<column-name>_GEOMETRYTYPE>PointMemberType |
複数点 |
<column-name>_GEOMETRYTYPE>MultiPointMemberType |
線または曲線 |
<column-name>_GEOMETRYTYPE>CurveMemberType |
複数線または複数曲線 |
<column-name>_GEOMETRYTYPE>MultiCurveMemberType |
ソリッド |
<column-name>_GEOMETRYTYPE>SolidMemberType |
マルチソリッド |
<column-name>_GEOMETRYTYPE>MultiSolidMemberType |
コレクション |
<column-name>_GEOMETRYTYPE>GeometryMemberType |
WFS 1.1.nの場合、たとえば、フィーチャ・タイプのインスタンス表内にある1つのSDO_GEOMETRY列にポリゴン・ジオメトリが含まれている場合、columnInfo
値はPolygonPropertyType
となる必要があります。表38-2に、WFSバージョン1.1.nでのジオメトリ・タイプとこれらのタイプに関連付けられた必須のcolumnInfo
パラメータ値を示します。
表38-2 ジオメトリ・タイプとcolumnInfoパラメータ値(WFS 1.1.n)
ジオメトリ・タイプ | columnInfoパラメータ値 |
---|---|
ポリゴンまたは面 |
PolygonPropertyType |
複数のポリゴンまたは複数面 |
MultiPolygonPropertyType |
点 |
PointPropertyType |
複数点 |
MultiPointPropertyType |
線または曲線 |
CurvePropertyType |
複数線または複数曲線 |
MultiCurvePropertyType |
ソリッド |
SolidPropertyType |
マルチソリッド |
MultiSolidPropertyType |
コレクション |
GeometryPropertyType |
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、COLA
という名前のフィーチャ・タイプのメタデータを、SHAPE
という列に格納されているポリゴン・ジオメトリに登録します。(WFS 1.1.nの使用を想定しています。)
DECLARE columnInfo MDSYS.StringList := MDSYS.StringList('PolygonPropertyType'); BEGIN SDO_WFS_PROCESS.publishFeatureType( 'WFS_USER.COLA_MARKETS_VIEW', 'http://www.example.com/myns', 'COLA', 'myns', xmltype(bfilename('WFSUSERDIR', 'featuredesct.xml'), nls_charset_id('AL32UTF8')), null, 'MKT_ID', columnInfo, 'SHAPE', null, null, null, null); END; /
38.12 SDO_WFS_PROCESS.Publish_FeatureTypes_In_Schema
構文
SDO_WFS_PROCESS.Publish_FeatureTypes_In_Schema( p_owner IN VARCHAR2, p_namespace_url IN VARCHAR2, p_namespace_alias IN VARCHAR2, p_wls_postxml_url IN VARCHAR2, p_tablename_pattern IN VARCHAR2 DEFAULT NULL, p_wfs_version IN VARCHAR2 DEFAULT NULL, p_write_xsd IN VARCHAR2 DEFAULT NULL);
説明
スキーマ内のフィーチャ・タイプをパブリッシュします。つまり、フィーチャ・タイプに関連するメタデータを登録します(キャメル・ケースを使用)。
パラメータ
- p_owner
-
空間フィーチャ(空間プロパティおよび非空間プロパティを持つことができる)を含む表を所有するデータベース・ユーザーの名前。
- p_namespace_url
-
フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。(SDO_WFS_PROCESS.PublishFeatureTypeプロシージャの
ftNsUrl
パラメータに対応。) - p_namespace_alias
-
フィーチャ・タイプの名前空間の別名を指定します。(SDO_WFS_PROCESS.PublishFeatureTypeプロシージャの
ftNsAlias
パラメータに対応。) - p_wls_postxml_url
-
WFSサーバーに対するPOST XMLリクエストを実行する形式のHTTP URL。
-
http://hostname:listening_port/SpatialWS-SpatialWS-context-root/SpatialWSXmlServlet
[古い表記法] -
http://hostname:listening_port/oraclespatial/wfs
[新しい表記法]
このURLは、WFSエンジンに対するキャッシュ・リロードに使用されます。
-
- p_tablename_pattern
-
新たにパブリッシュする、またはすでにパブリッシュされている場合は再パブリッシュする必要のある表を識別する表名パターン。デフォルトは"%"で、スキーマ内のすべてのフィーチャ・タイプを意味します。
- p_wfs_version
-
POST XMLリクエストに必要なWFSバージョン。デフォルト値は1.1.0で、リリース12.2についてサポートされる最新のWFSバージョンです。
- p_write_xsd
-
Y
の場合、XSDファイルはWFSUSERDIRに書き込まれます。ファイル命名規則は、owner_tablename_columnname.xsdに一致します。
使用上の注意
このプロシージャでは、WFS管理コンソールを使用せず、対応するDescribeFeatureType
レスポンスから導出した各フィーチャ・タイプXSDを使用してスキーマ内のすべてのフィーチャ・タイプをパブリッシュします。
WFSは複数の空間列を処理できますが、このプロシージャでは、各フィーチャ・タイプ表は1つの空間列を持つものとします。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、すべてのメタデータ・レジストリ操作を実行します。WFS 1.1.0(デフォルト)の使用を想定しています。
EXECUTE SDO_WFS_PROCESS.publish_featureTypes_in_schema( p_owner=> 'WFS_REL_USER', p_namespace_url => 'http://cite.opengeospatial.org/gmlsf', p_namespace_alias=> 'sf', p_wls_postxml_url=> 'http://localhost:7003/oraclespatial/wfs');
次の例では、STUDENTスキーマ内のGEOD_STATES表をパブリッシュします。
EXECUTE sdo_wfs_process.publish_featureTypes_in_schema ( 'STUDENT', 'http://www.myserver.com/student_data', 'sdns', 'http://localhost:7001/oraclespatial/wfs', p_tablename_pattern=>'GEOD_STATES');
38.13 SDO_WFS_PROCESS.RegisterMTableView
構文
SDO_WFS_PROCESS.RegisterMTableView( ftNsUrl IN VARCHAR2, ftName IN VARCHAR2, viewTableList IN MDSYS.STRINGLIST, viewTablePkeyColList IN MDSYS.STRINGLIST, tablePkeyColList IN MDSYS.STRINGLIST);
または
SDO_WFS_PROCESS.RegisterMTableView( ftNsUrl IN VARCHAR2, ftName IN VARCHAR2, viewTableList IN MDSYS.STRINGLIST, viewTablePkeyColList IN MDSYS.STRINGLIST, formattedViewTableColList IN MDSYS.STRINGLISTLIST, tablePkeyColList IN MDSYS.STRINGLIST);
説明
フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを有効にします。
パラメータ
- ftNsUrl
-
フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。
- ftName
-
フィーチャ・タイプの名前を指定します。
- viewTableList
-
ビューに含まれる表のリストを指定します。表名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、
MDSYS.STRINGLIST('MYUSER.ROADS', 'MYUSER.ROADS_DESC')
のように指定します。 - viewTablePkeyColList
-
ビュー内の表の主キー列に対応するビュー列のリストを、
viewTableList
に表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用してMDSYS.STRINGLIST('ROAD_ID', 'ROAD_ID')
のように指定します。この例では、ROADS表およびROAD_DESC表の両方に、ROAD_IDが主キーとして含まれています。複数列主キーの表の列に対応する列がビューに含まれる場合は、主キーに含まれる各列をセミコロンで区切ります。例:
'COL1;COL2'
- formattedViewTableColList
-
ビュー内の書式化された文字列の主キー列に対応した、書式化された文字列表の主キー列のリストを、
viewTableList
に表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLISTLIST(MDSYS.STRINGLIST('to_char(ROAD_ID)'), MDSYS.STRINGLIST('to_char(ROAD_ID)'))
のように指定します。各表に対して書式化された文字列の主キー列のリストは、
tablePkeyColList
パラメータで指定した各表の主キー列と同じ順番で指定する必要があります。 - tablePkeyColList
-
表の主キー列のリストを、
viewTableList
に表を指定した順序に従って指定します。各表の主キー列は、viewTablePkeyColList
パラメータに指定したビューのキー列の順序で指定する必要があります。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLIST('ROAD_ID', 'ROAD_ID')
のように指定します。表の主キーが複数列の場合は、主キーに含まれる各列をセミコロンで区切ります。例:
'COL1;COL2'
使用上の注意
複数表ビューのコンテンツをフィーチャ・インスタンスとしてパブリッシュする必要がある場合は、SDO_WFS_PROCESS.PublishFeatureTypeプロシージャをコールした後に、このプロシージャをコールする必要があります。
フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを無効にする場合は、SDO_WFS_PROCESS.UnRegisterMTableViewプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では2つのフィーチャ表を作成し、これらの表に基づいてビューを作成します。続いて、フィーチャ・タイプをパブリッシュし、ビューのコンテンツのパブリッシュを有効するために複数表ビューを登録します。
CREATE TABLE cola_markets_cs ( mkt_id NUMBER PRIMARY KEY, name VARCHAR2(32), shape MDSYS.SDO_GEOMETRY); CREATE TABLE cola_markets_cs_details ( mkt_id NUMBER PRIMARY KEY, description VARCHAR2(400)); create view cola_markets_view as select t1.mkt_id, t1.name, t1.shape, t2.description from cola_markets_cs t1, cola_markets_cs_details t2 where t1.mkt_id = t2.mkt_id; DECLARE cm MDSYS.StringList := MDSYS.StringList('PolygonMemberType'); BEGIN SDO_WFS_PROCESS.publishFeatureType( 'WFS_USER.COLA_MARKETS_VIEW', 'http://www.example.com/myns', 'COLA', 'myns', xmltype(bfilename('WFSUSERDIR', 'featuredesct.xml'), nls_charset_id('AL32UTF8')), null, 'MKT_ID', cm, 'SHAPE', null, null, null, null); END; / BEGIN SDO_WFS_PROCESS.registerMTableView('http://www.example.com/myns', 'COLA', mdsys.StringList('WFS_USER.COLA_MARKETS_CS', 'WFS_USER.COLA_MARKETS_CS_DETAILS'), mdsys.StringList('MKT_ID', 'MKT_ID'), -- view keys per table mdsys.StringList('MKT_ID', 'MKT_ID'));-- corresponding table keys END; /
38.14 SDO_WFS_PROCESS.RevokeFeatureTypeFromUser
構文
SDO_WFS_PROCESS.RevokeFeatureTypeFromUser( ftnsUrl IN VARCHAR2, ftName IN VARCHAR2, userName IN VARCHAR2);
説明
フィーチャ・タイプへのアクセス権限をデータベース・ユーザーから取り消します。
パラメータ
使用上の注意
フィーチャ・タイプへのアクセス権限をデータベース・ユーザーに付与する場合は、SDO_WFS_PROCESS.GrantFeatureTypeToUserプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、COLA
というフィーチャ・タイプへのアクセス権限をユーザーSMITH
から取り消します。
BEGIN SDO_WFS_PROCESS.RevokeFeatureTypeFromUser('http://www.example.com/myns','COLA', 'SMITH'); END; /
38.15 SDO_WFS_PROCESS.RevokeMDAccessFromUser
構文
SDO_WFS_PROCESS.RevokeMDAccessFromUser( userName IN VARCHAR2);
説明
Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーから取り消します。
使用上の注意
このプロシージャをコールするには、DBAロールを持つユーザーとしてデータベースに接続する必要があります。
Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーに付与する場合は、SDO_WFS_PROCESS.GrantMDAccessToUserプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、Web Feature Serviceメタデータ表へのアクセス権限をWFS_REL_USER
というデータベース・ユーザーから取り消します。
BEGIN SDO_WFS_PROCESS.RevokeMDAccessToUser('WFS_REL_USER'); END; /
38.16 SDO_WFS_PROCESS.UnRegisterMTableView
構文
SDO_WFS_PROCESS.UnRegisterMTableView( ftNsUrl IN VARCHAR2, ftName IN VARCHAR2);
説明
フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを無効にします。
使用上の注意
フィーチャ・インスタンスとしての複数表ビューのコンテンツのパブリッシュを有効にするには、事前にSDO_WFS_PROCESS.RegisterMTableViewプロシージャがコールされている必要があります。
複数表ビューからのコンテンツを持つフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャをコールする前に、このプロシージャをコールする必要があります。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では、複数表ビューの登録を解除し、ビューのコンテンツのパブリッシュを無効にします。
DECLARE BEGIN SDO_WFS_PROCESS.unRegisterMTableView('http://www.example.com/myns', 'COLA'); END; /