ヘッダーをスキップ
Oracle® Database SecureFilesおよびラージ・オブジェクト開発者ガイド
11gリリース2 (11.2)
B56263-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 DBFSストアの作成

この章の内容は次のとおりです。

パッケージDBMS_DBFS_CONTENT_SPI

Oracle Database File System Content Store Provider Interface(DBFSコンテンツSPI)により、DBFSコンテンツAPI(パッケージ本体DBMS_DBFS_CONTENT)と個々のコンテンツ・プロバイダとの間の内部規定が記述されます。

PL/SQLではコンパイル時のパッケージ・シグネチャ間の宣言タイプ適合ができないため、ストア・プロバイダではSPIに非公式に準拠する必要があります。つまり、DBMS_DBFS_CONTENT_SPIで指定されているすべてのメソッドを最低でも含むパッケージを使用して、同じメソッド・シグネチャおよびセマンティクスでSPIを実装する必要があります。これらのプロバイダ・パッケージでその他のメソッドの実装および他のインタフェースの公開が可能ですが、DBFSコンテンツAPI自体ではこれらのインタフェースは使用されません。

プロバイダSPIは、単なる規約仕様にすぎないため、DBMS_DBFS_CONTENT_SPIにはパッケージ本体がなく、実際にこのパッケージを使用してメソッドを呼び出すことはできません。

SPIは、DBFSコンテンツAPI(パッケージDBMS_DBFS_CONTENT)で定義された各種の要素(定数、タイプ、例外)を参照します。

また、DBFSコンテンツAPIによりエクスポートされたクライアントAPIと、DBFSコンテンツAPI自体が動作するコンテンツAPIは、ほとんど1対1で対応しています。

メソッド命名規則の主な相違点は、すべてのパス名参照が常にストア修飾であること、つまり、プロバイダSPIのメソッドを呼び出す前に、DBFSコンテンツAPIによってマウント・ポイントの概念および完全絶対パス名が正規化され、ストア修飾パス名に変換されていることです。

DBFSコンテンツAPIおよびプロバイダSPIは1対多プラガブル・アーキテクチャであるため、DBFSコンテンツAPIでは動的SQLを使用してプロバイダSPIのメソッドが呼び出されます。これにより、ランタイム・エラーが発生することがあります。

DBFSコンテンツAPIで特定のプロバイダSPIがプラグ化またはプラグ解除されるタイミングを示す明示的な初期または最終メソッドはありません。プロバイダSPIは、いずれかのSPIエントリ・ポイントで、自身を自動初期化する必要があります。


関連項目:

  • DBMS_DBFS_CONTENT_SPIパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

  • 詳細は、ファイルdbmscapi.sqlを参照してください。