ヘッダーをスキップ
Oracle® Spatial開発者ガイド
11gリリース2 (11.2)
B72087-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

34 SDO_WFS_PROCESSパッケージ(WFSの処理)

MDSYS.SDO_WFS_PROCESSパッケージには、Web Feature Servicesのサポートに関連する各種処理操作を行うサブプログラムが含まれています。

この章で説明するサブプログラムを使用する場合は、Web Feature Servicesの概念および使用方法を理解しておく必要があります(第15章を参照)。

表34-1にWFS処理のサブプログラムを示します。

表34-1 WFSの処理操作のサブプログラム

サブプログラム 説明

SDO_WFS_PROCESS.DropFeatureType


指定したフィーチャ・タイプを削除します。

SDO_WFS_PROCESS.DropFeatureTypes


指定した名前空間内のすべてのフィーチャ・タイプを削除します。

SDO_WFS_PROCESS.GenCollectionProcs


コレクションベースの列(例: VARRAYまたはネストされた表)を含むリレーショナル・フィーチャ・タイプのヘルパー・プロシージャを生成します。

SDO_WFS_PROCESS.GetFeatureTypeId


指定したフィーチャ・タイプのフィーチャ・タイプIDを取得します。

SDO_WFS_PROCESS.GrantFeatureTypeToUser


フィーチャ・タイプへのアクセス権限をデータベース・ユーザーに付与します。

SDO_WFS_PROCESS.GrantMDAccessToUser


WFSメタデータ表へのアクセス権限をデータベース・ユーザーに付与します。

SDO_WFS_PROCESS.InsertCapabilitiesInfo


機能テンプレート情報を挿入します。

SDO_WFS_PROCESS.InsertFtDataUpdated


データベースで1つ以上のフィーチャ・インスタンスのデータが更新されたことを示す通知を挿入します。

SDO_WFS_PROCESS.InsertFtMDUpdated


データベースでフィーチャ・タイプのメタデータが更新されたことを示す通知を挿入します。

SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo


XMLType列を持つリレーショナル・フィーチャ・タイプのメタデータを移入します。

SDO_WFS_PROCESS.PublishFeatureType


フィーチャ・タイプをパブリッシュします(フィーチャ・タイプに関連するメタデータを登録します)。

SDO_WFS_PROCESS.RegisterMTableView


フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを有効にします。

SDO_WFS_PROCESS.RevokeFeatureTypeFromUser


フィーチャ・タイプへのアクセス権限をデータベース・ユーザーから取り消します。

SDO_WFS_PROCESS.RevokeMDAccessFromUser


WFSメタデータ表へのアクセス権限をデータベース・ユーザーから取り消します。

SDO_WFS_PROCESS.UnRegisterMTableView


フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを無効にします。


この章では、これらのサブプログラムのリファレンス情報をアルファベット順に説明します。

SDO_WFS_PROCESS.DropFeatureType

構文

SDO_WFS_PROCESS.DropFeatureType(

     ftnsUrl IN VARCHAR2,

     ftName IN VARCHAR2);

説明

指定したフィーチャ・タイプを削除します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

使用上の注意

複数表ビューからのコンテンツを持つフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャをコールする前に、SDO_WFS_PROCESS.UnRegisterMTableViewプロシージャをコールする必要があります。

名前空間内のすべてのフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypesプロシージャを使用できます。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、指定した名前空間にあるCOLAというフィーチャ・タイプを削除します。

BEGIN
    SDO_WFS_PROCESS.dropFeatureType('http://www.example.com/myns','COLA');
END;
/

SDO_WFS_PROCESS.DropFeatureTypes

構文

SDO_WFS_PROCESS.DropFeatureTypes(

     ftnsUrl IN VARCHAR2);

説明

指定した名前空間内のすべてのフィーチャ・タイプを削除します。

パラメータ

ftnsUrl

名前空間のURL(Uniform Resource Locator)を指定します。

使用上の注意

名前空間内の単一のフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャを使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、指定した名前空間内のすべてのフィーチャ・タイプを削除します。

BEGIN
    SDO_WFS_PROCESS.dropFeatureTypes('http://www.example.com/myns');
END;
/

SDO_WFS_PROCESS.GenCollectionProcs

構文

SDO_WFS_PROCESS.GenCollectionProcs();

説明

コレクションベースの列(例: VARRAYまたはネストされた表)を含むリレーショナル・フィーチャ・タイプのヘルパー・プロシージャを生成します。

パラメータ

なし。

使用上の注意

フィーチャ表にコレクションベースの列(例: VARRAYまたはネストされた表)で定義されたフィーチャが含まれている場合は、このプロシージャを使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、コレクションベースの列を持つリレーショナル・フィーチャ・タイプのヘルパー・プロシージャを生成します。

BEGIN
  SDO_WFS_PROCESS.GenCollectionProcs;
END;
/

SDO_WFS_PROCESS.GetFeatureTypeId

構文

SDO_WFS_PROCESS.GetFeatureTypeId(

     ftnsUrl IN VARCHAR2,

     ftName IN VARCHAR2) RETURN NUMBER;

説明

指定したフィーチャ・タイプのフィーチャ・タイプIDを取得します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

使用上の注意

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、COLAというフィーチャ・タイプのフィーチャ・タイプIDを取得します。

DECLARE
  ftid number; 
BEGIN 
  ftId := SDO_WFS_PROCESS.GetFeatureTypeId('http://www.example.com/myns','COLA');
END;
/

SDO_WFS_PROCESS.GrantFeatureTypeToUser

構文

SDO_WFS_PROCESS.GrantFeatureTypeToUser(

     ftnsUrl IN VARCHAR2,

     ftName IN VARCHAR2,

     userName IN VARCHAR2);

説明

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーに付与します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

userName

データベース・ユーザーの名前を指定します。

使用上の注意

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーから取り消すには、SDO_WFS_PROCESS.RevokeFeatureTypeFromUserプロシージャを使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、COLAというフィーチャ・タイプへのアクセス権限をユーザーSMITHに付与します。

BEGIN
  SDO_WFS_PROCESS.GrantFeatureTypeToUser('http://www.example.com/myns','COLA',
    'SMITH');
END;
/

SDO_WFS_PROCESS.GrantMDAccessToUser

構文

SDO_WFS_PROCESS.GrantMDAccessToUser(

     userName IN VARCHAR2);

説明

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーに付与します。

パラメータ

userName

データベース・ユーザーの名前を指定します。

使用上の注意

このプロシージャをコールするには、DBAロールを持つユーザーとしてデータベースに接続する必要があります。

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーから取り消すには、SDO_WFS_PROCESS.RevokeMDAccessFromUserプロシージャを使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、Web Feature Serviceメタデータ表へのアクセス権限をWFS_REL_USERというデータベース・ユーザーに付与します。

BEGIN
  SDO_WFS_PROCESS.GrantMDAccessToUser('WFS_REL_USER'); 
END;
/

SDO_WFS_PROCESS.InsertCapabilitiesInfo

構文

SDO_WFS_PROCESS.InsertCapabilitiesInfo(

     capabilitiesInfo IN XMLTYPE);

説明

機能テンプレート情報を挿入します。

パラメータ

capabilitiesInfo

機能のドキュメントを生成するために実行時に使用される、機能テンプレートのXML文書を指定します。

使用上の注意

機能のドキュメントは、実行時に、WFSメタデータのフィーチャ・タイプ情報を機能テンプレートとバインディングすることによって動的に生成されます。機能のドキュメントについては、15.2.1項を参照してください。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、機能テンプレート情報を挿入します。

BEGIN
  SDO_WFS_PROCESS.insertCapabilitiesInfo(
    xmltype(bfilename('WFSUSERDIR', 'capabilitiesTemplate.xml'),
       nls_charset_id('AL32UTF8')));
END
/

SDO_WFS_PROCESS.InsertFtDataUpdated

構文

SDO_WFS_PROCESS.InsertFtDataUpdated(

     ns IN VARCHAR2,

     name IN VARCHAR2,

     updatedRowList IN ROWPOINTERLIST,

     updateTs IN TIMESTAMP);

説明

データベースで1つ以上のフィーチャ・インスタンスのデータが更新されたことを示す通知を挿入します。

パラメータ

ns

フィーチャ・タイプの名前空間を指定します。

name

フィーチャ・タイプの名前を指定します。

updatedRowList

更新されたフィーチャ・インスタンスのROWIDを指定します。

updateTS

データが更新された日時を指定します。

使用上の注意

このプロシージャは、WFSのキャッシュ・データを同期させるために使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、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; 
/

SDO_WFS_PROCESS.InsertFtMDUpdated

構文

SDO_WFS_PROCESS.InsertFtMDUpdated(

     ns IN VARCHAR2,

     name IN VARCHAR2,

     updateTs IN TIMESTAMP);

説明

データベースでフィーチャ・タイプのメタデータが更新されたことを示す通知を挿入します。

パラメータ

ns

フィーチャ・タイプの名前空間を指定します。

name

フィーチャ・タイプの名前を指定します。

updateTS

メタデータが更新された日時を指定します。

使用上の注意

このプロシージャは、WFSのキャッシュ・メタデータを同期させるために使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、データベースでCOLAフィーチャ・タイプのメタデータが更新されたことを示す通知を挿入します。

begin
SDO_WFS_PROCESS.InsertFtMDUpdated(
    'http://www.example.com/myns','COLA', sysdate);
end;
/

SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo

構文

SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo(

     xmlColTypeXsd IN XMLTYPE,

     fTypeId IN NUMBER,

     columnName IN VARCHAR2,

     objPathInfo IN MDSYS.STRINGLIST);

説明

XMLType列を持つリレーショナル・フィーチャ・タイプのメタデータを移入します。

パラメータ

xmlColTypeXsd

XMLType列を持つリレーショナル・フィーチャ・タイプのスキーマ定義を指定します。

fTypeId

XMLType列を持つリレーショナル・フィーチャ・タイプのIDを指定します。

columnName

フィーチャ表内のXMLType列の名前を指定します。

objPathInfo

パス情報を指定します。MDSYS.STRINGLIST型は、VARRAY(1000000) OF VARCHAR2(4000)として定義されます。

使用上の注意

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、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;
/

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.0.nの場合、MDSYS.STRINGLIST('<GEOM_COL1_GEOMETRYTYPE>PolygonMemberType', '<GEOM_COL2_GEOMETRYTYPE>PointMemberType')など)。

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となる必要があります。表34-2に、WFSバージョン1.0.nでのジオメトリ・タイプとこれらのタイプに関連付けられた必須のcolumnInfoパラメータ値を示します。(<column-name>を列の名前に置換します。)

表34-2 ジオメトリ・タイプと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


Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、COLAという名前のフィーチャ・タイプのメタデータを、SHAPEという列に格納されているポリゴン・ジオメトリに登録します。(WFS 1.0.nの使用を想定しています。)

DECLARE
columnInfo MDSYS.StringList := MDSYS.StringList('SHAPE_GEOMETRYTYPE>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', columnInfo, 'SHAPE', null, null, null, null);
END;
/

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のサポートについては、第15章を参照してください。

次の例では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;
/

SDO_WFS_PROCESS.RevokeFeatureTypeFromUser

構文

SDO_WFS_PROCESS.RevokeFeatureTypeFromUser(

     ftnsUrl IN VARCHAR2,

     ftName IN VARCHAR2,

     userName IN VARCHAR2);

説明

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーから取り消します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

userName

データベース・ユーザーの名前を指定します。

使用上の注意

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーに付与する場合は、SDO_WFS_PROCESS.GrantFeatureTypeToUserプロシージャを使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、COLAというフィーチャ・タイプへのアクセス権限をユーザーSMITHから取り消します。

BEGIN
  SDO_WFS_PROCESS.RevokeFeatureTypeFromUser('http://www.example.com/myns','COLA',
    'SMITH');
END;
/

SDO_WFS_PROCESS.RevokeMDAccessFromUser

構文

SDO_WFS_PROCESS.RevokeMDAccessFromUser(

     userName IN VARCHAR2);

説明

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーから取り消します。

パラメータ

userName

データベース・ユーザーの名前を指定します。

使用上の注意

このプロシージャをコールするには、DBAロールを持つユーザーとしてデータベースに接続する必要があります。

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーに付与する場合は、SDO_WFS_PROCESS.GrantMDAccessToUserプロシージャを使用します。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、Web Feature Serviceメタデータ表へのアクセス権限をWFS_REL_USERというデータベース・ユーザーから取り消します。

BEGIN
  SDO_WFS_PROCESS.RevokeMDAccessToUser('WFS_REL_USER'); 
END;
/

SDO_WFS_PROCESS.UnRegisterMTableView

構文

SDO_WFS_PROCESS.UnRegisterMTableView(

     ftNsUrl IN VARCHAR2,

     ftName IN VARCHAR2);

説明

フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを無効にします。

パラメータ

ftNsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

使用上の注意

フィーチャ・インスタンスとしての複数表ビューのコンテンツのパブリッシュを有効にするには、事前にSDO_WFS_PROCESS.RegisterMTableViewプロシージャがコールされている必要があります。

複数表ビューからのコンテンツを持つフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャをコールする前に、このプロシージャをコールする必要があります。

Web Feature Servicesのサポートについては、第15章を参照してください。

次の例では、複数表ビューの登録を解除し、ビューのコンテンツのパブリッシュを無効にします。

DECLARE
BEGIN
  SDO_WFS_PROCESS.unRegisterMTableView('http://www.example.com/myns', 'COLA');
END;
/