I Oracle Multimediaのリレーショナル・インタフェース

この付録では、Oracle Multimediaの元のリレーショナル・インタフェースについて説明します。このインタフェースは、新しいPL/SQL APIによって置き換えられました。

リレーショナル・インタフェースは、次の各Oracle Multimediaオブジェクトの静的メソッドのセットで構成されます。

  • ORDAudio

  • ORDDoc

  • ORDImage

  • ORDVideo

リレーショナル・インタフェースは静的メソッドで構成されているため、オブジェクトはインスタンス化されません。データは、オブジェクト属性ではなくメソッドの引数によって渡されます。

これらの4つのOracle Multimediaオブジェクト用の静的メソッドは、それぞれordaspec.sqlorddspec.sqlordispec.sqlおよびordvspec.sqlの各ファイルで定義されています。インストール後、これらのファイルは次のOracleホーム・ディレクトリに格納されています。

<ORACLE_HOME>/ord/im/admin (LinuxおよびUNIXの場合)

<ORACLE_HOME>\ord\im\admin (Windowsの場合)

注意:

リレーショナル・インタフェースのかわりに、簡略化されたPL/SQL APIを使用して、Oracle DatabaseのBLOBおよびBFILEに格納されているイメージ、オーディオ、ビデオおよびその他の異機種間メディア・データを管理することをお薦めします。このPL/SQL APIには、ORD_AUDIO、ORD_DOC、ORD_IMAGEおよびORD_VIDEO PL/SQLパッケージが含まれており、これらのパッケージによって、メタデータの抽出やイメージ処理などの一般的な操作を、より直感的な方法でSQLおよびPL/SQLアプリケーションに含めることができます。

Oracle Multimediaの元のリレーショナル・インタフェースに含まれる静的メソッドの詳細は、次の項を参照してください。

I.1 Oracle Multimediaのリレーショナル・インタフェースの用途

リレーショナル表にメディア・データを格納したり、リレーショナル表内でメディア・データを管理するためのマルチメディア・アプリケーションをOracle Multimediaのオブジェクト型を使用せずに作成したアプリケーション開発者、およびOracle Multimediaオブジェクトを使用するために既存のマルチメディア・アプリケーションを移行しないアプリケーション開発者はOracle Multimediaのリレーショナル・インタフェースを使用してメディア・データを管理できます。Oracle Multimediaのリレーショナル・インタフェースは、次の操作を行う一連のメソッドで構成されています。

  • XML文字列として、またはXMLおよび個々の属性として、メディア・データから直接情報を抽出する

  • イメージ・データを処理およびコピーする

  • Oracleデータベースにメディア・データをロードする

  • Oracleデータベースからオペレーティング・システム・ファイルにメディア・データをエクスポートする

Oracle Multimediaのリレーショナル・インタフェースによって、アプリケーション開発者がアプリケーションへの最小限の変更で、Oracle Multimediaの機能を利用し、スキーマをOracle Multimediaオブジェクトに変更せずに、データを格納できます。

I.2 リレーショナル・メソッドの重要な注意事項

メディアのソースに関連するメソッドは、最初の引数にctx (RAW)を取ります。これらのメソッドのいずれかをクライアントから初めてコールする場合、ctx構造体を割り当てて、NULLに初期化する必要があります。

メディアの解析に関連するORDAudio、ORDDocおよびORDVideoのメソッドは、最初の引数にctx (RAW)を取ります。これらのメソッドのいずれかをクライアントから初めてコールする場合、ctx構造体を割り当てて、NULLに初期化する必要があります。

I.3 すべてのOracle Multimediaオブジェクト型に共通の静的メソッド

次のOracle Multimediaの共通静的メソッドは、リレーショナル・インタフェース用に設計されています。

ORDAudio、ORDDoc、ORDImageおよびORDVideoのリレーショナル・インタフェース用のこれらの共通静的メソッドは、それぞれordaspec.sqlorddspec.sqlordispec.sqlおよびordvspec.sqlの各ファイルで定義されています。

I.3.1 export( )

構文

export(ctx              IN OUT RAW,
       local_data       IN BLOB,
       source_type      IN VARCHAR2,
       source_location  IN VARCHAR2,
       source_name      IN VARCHAR2); 

説明

データベース内のローカル・ソース(local_data)から外部データ・ソースへデータをコピーします。

注意:

export( )メソッドは、source_typeパラメータの値がFILEの場合にのみネイティブにサポートされます。この場合、このメソッドは、Oracleデータベースにアクセス可能なディレクトリ内にあるファイルにデータを書き込みます。ユーザー定義ソースによっては、他のタイプのデータ・ストアに対する書込み権限を提供するexport( )メソッドがサポートされる場合があります。

パラメータ

ctx

ソース・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

local_data

エクスポートするBLOBの位置を指定します。

source_type

外部ソース・データのタイプを指定します。このパラメータでは、大/小文字は区別されません。(表7-1を参照してください。)

source_location

ソース・データのエクスポート先の位置を指定します。(表7-2を参照してください。)

source_name

ソース・データのエクスポート先のオブジェクト名を指定します。(表7-3を参照してください。)

使用上の注意

export( )メソッドをコールした後、必要に応じて、SQL DELETE文を発行するか、またはDBMS_LOB.TRIMプロシージャをコールして、ローカルに格納されているコンテンツを削除できます。

ソース・タイプがFILEの場合、export( )メソッドは、BLOBに格納されているデータは変更しません。

source_typeパラメータの値がFILEの場合、source_locationパラメータはOracleディレクトリ・オブジェクトの名前を、source_nameパラメータはデータが含まれるファイルの名前を指定します。

export( )メソッドは、ユーザーがアクセス権を持つデータベース・ディレクトリのオブジェクトに対してのみ書き込みます。つまり、SQL文のCREATE DIRECTORYを使用して作成したディレクトリ・オブジェクト、または読取りおよび書込み権限を付与されたディレクトリ・オブジェクトにアクセスできます。

たとえば、次のSQL*Plusコマンドを実行すると、ディレクトリ・オブジェクトが作成され、ディレクトリc:\mydir\work内の任意のファイルに対する読取りおよび書込み権限がユーザーmediauserに付与されます。これらのコマンドを実行する前に、ディレクトリ・オブジェクトを作成する権限を持ったユーザーとして接続しておく必要があります。

CREATE OR REPLACE DIRECTORY FILE_DIR AS 'c:\mydir\work';
GRANT READ,WRITE ON DIRECTORY FILE_DIR TO mediauser;

プラグマ

なし。

例外

ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION

この例外は、export( )メソッドをコールし、source_typeパラメータの値がNULLの場合に発生します。

ORDSourceExceptions.METHOD_NOT_SUPPORTED

この例外は、export( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.3.2 importFrom( )

構文

importFrom(ctx              IN OUT RAW,
           local_data       IN OUT NOCOPY BLOB,
           source_type      IN VARCHAR2,
           source_location  IN VARCHAR2,
           source_name      IN VARCHAR2);

説明

指定された外部データ・ソースからlocal_dataパラメータで指定されたBLOBにデータを転送します。

パラメータ

ctx

ソース・プラグインのコンテキスト情報を指定します。このパラメータは、常に割り当てて、NULLに初期化する必要があります。ユーザー定義のソース・プラグインを使用する場合は、openSource( )メソッドをコールします。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

local_data

データのインポート先のBLOBの位置を指定します。

source_type

ソース・データのタイプを指定します。(表7-1を参照してください。)

source_location

インポート元のソース・データの位置を指定します。(表7-2を参照してください。)

source_name

ソース・データの名前を指定します。(表7-3を参照してください。)

使用上の注意

source_typeパラメータの値がFILEの場合、source_locationパラメータにはインポート対象のファイルを格納したデータベース・ディレクトリ・オブジェクトの名前が含まれ、source_nameパラメータにはインポート対象のファイルの名前が含まれます。このメソッドを使用する前に、外部ソースの位置にディレクトリが存在するか、または作成されていることを確認する必要があります。

importFrom( )メソッドは、ユーザーがアクセス権を持つデータベース・ディレクトリのオブジェクトからのみ読み取ります。つまり、SQL文のCREATE DIRECTORYを使用して作成したディレクトリ・オブジェクト、または読取り権限を付与されたディレクトリ・オブジェクトにアクセスできます。

たとえば、次のSQL*Plusコマンドを実行すると、ディレクトリ・オブジェクトが作成され、ディレクトリc:\mydir\work内の任意のファイルに対する読取り権限がユーザーmediauserに付与されます。これらのコマンドを実行する前に、ディレクトリ・オブジェクトを作成する権限を持ったユーザーとして接続しておく必要があります。

CREATE OR REPLACE DIRECTORY FILE_DIR AS 'c:\mydir\work';
GRANT READ ON DIRECTORY FILE_DIR TO mediauser;

source_typeパラメータの値がHTTPの場合、source_locationパラメータにはインポート対象のオブジェクトを格納したディレクトリを検索するために必要なベースURLが含まれ、source_nameパラメータにはインポート対象のオブジェクトの名前が含まれます。

このメソッドは、PL/SQL UTL_HTTPパッケージを使用して、HTTPデータ・ソースからメディア・データをインポートします。環境変数を使用して、UTL_HTTPパッケージのプロキシの動作を指定できます。たとえば、LinuxおよびUNIXの場合、環境変数http_proxyをURLに設定すると、UTL_HTTPパッケージはそのURLをHTTPリクエスト用のプロキシ・サーバーとして使用する必要があります。環境変数no_proxyをドメイン名に設定すると、HTTPプロキシ・サーバーは指定したドメイン内のURLには使用されません。

関連項目:

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

source_typeパラメータの値がユーザー定義の名前の場合、source_locationパラメータにはインポート対象のユーザー定義オブジェクトにアクセスするために必要な識別子文字列が含まれ、source_nameパラメータにはインポート対象のオブジェクトの名前が含まれます。

プラグマ

なし。

例外

ORDSourceExceptions.METHOD_NOT_SUPPORTED

この例外は、importFrom( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。

ORDSourceExceptions.NULL_SOURCE

この例外は、importFrom( )メソッドをコールし、local_dataパラメータの値がNULLまたは初期化されていない場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.3.3 importFrom( ) (属性付き)

構文

importFrom(ctx              IN OUT RAW,
           local_data       IN OUT NOCOPY BLOB,
           source_type      IN VARCHAR2,
           source_location  IN VARCHAR2,
           source_name      IN VARCHAR2,
           format           OUT VARCHAR2,
           mime_type        OUT VARCHAR2);

説明

指定された外部データ・ソースからlocal_dataパラメータで指定されたBLOBにデータを転送します。

パラメータ

ctx

ソース・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

local_data

データのインポート先のBLOBの位置を指定します。

source_type

ソース・データのタイプを指定します。(表7-1を参照してください。)

source_location

インポート元のソース・データの位置を指定します。(表7-2を参照してください。)

source_name

ソース・データの名前を指定します。(表7-3を参照してください。)

format

データのフォーマットです。可能な場合、(HTTPソースから)値が戻されます。

mime_type

データのMIMEタイプです。可能な場合、(HTTPソースから)値が戻されます。

使用上の注意

source_typeパラメータの値がFILEの場合、source_locationパラメータにはインポート対象のファイルを格納したデータベース・ディレクトリ・オブジェクトの名前が含まれ、source_nameパラメータにはインポート対象のファイルの名前が含まれます。このメソッドを使用する前に、外部ソースの位置にディレクトリが存在するか、または作成されていることを確認する必要があります。

importFrom( )メソッドは、ユーザーがアクセス権を持つデータベース・ディレクトリのオブジェクトからのみ読み取ります。つまり、SQL文のCREATE DIRECTORYを使用して作成したディレクトリ・オブジェクト、または読取り権限を付与されたディレクトリ・オブジェクトにアクセスできます。

たとえば、次のSQL*Plusコマンドを実行すると、ディレクトリ・オブジェクトが作成され、ディレクトリc:\mydir\work内の任意のファイルに対する読取り権限がユーザーmediauserに付与されます。これらのコマンドを実行する前に、ディレクトリ・オブジェクトを作成する権限を持ったユーザーとして接続しておく必要があります。

CREATE OR REPLACE DIRECTORY FILE_DIR AS 'c:\mydir\work';
GRANT READ ON DIRECTORY FILE_DIR TO mediauser;

source_typeパラメータの値がHTTPの場合、source_locationパラメータにはインポート対象のオブジェクトを格納したディレクトリを検索するために必要なベースURLが含まれ、source_nameパラメータにはインポート対象のオブジェクトの名前が含まれます。

このメソッドは、PL/SQL UTL_HTTPパッケージを使用して、HTTPデータ・ソースからメディア・データをインポートします。環境変数を使用して、UTL_HTTPパッケージのプロキシの動作を指定できます。たとえば、LinuxおよびUNIXの場合、環境変数http_proxyをURLに設定すると、UTL_HTTPパッケージはそのURLをHTTPリクエスト用のプロキシ・サーバーとして使用する必要があります。環境変数no_proxyをドメイン名に設定すると、HTTPプロキシ・サーバーは指定したドメイン内のURLには使用されません。

関連項目:

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

source_typeパラメータの値がユーザー定義の名前の場合、source_locationパラメータにはインポート対象のユーザー定義オブジェクトにアクセスするために必要な識別子文字列が含まれ、source_nameパラメータにはインポート対象のオブジェクトの名前が含まれます。

プラグマ

なし。

例外

ORDSourceExceptions.METHOD_NOT_SUPPORTED

この例外は、importFrom( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。

ORDSourceExceptions.NULL_SOURCE

この例外は、importFrom( )メソッドをコールし、local_dataパラメータの値がNULLまたは初期化されていない場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.4 ORDAudioオブジェクト型のリレーショナル・インタフェースに固有の静的メソッド

一部のOracle Multimedia静的メソッドは、ORDAudioリレーショナル・インタフェースに固有です。

リレーショナル・インタフェースは、ORDAudioオブジェクト型ではなくBLOBおよびBFILEに格納されているオーディオ・データへのOracle Multimediaサポートを追加します。ORDAudioリレーショナル・インタフェースに固有の静的メソッドは、ordaspec.sqlファイルで定義されています。

I.4.1 BFILEのgetProperties( )

構文

getProperties(ctx           IN OUT RAW,
              audioBfile    IN OUT NOCOPY BFILE,
              attributes    IN OUT NOCOPY CLOB,
              format        IN VARCHAR2);

説明

オーディオBFILEデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

audioBfile

BFILEで格納されるオーディオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でオーディオBFILEデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

format

オーディオ・データのフォーマットを指定します。このパラメータにNULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。

使用上の注意

なし。

プラグマ

なし。

例外

ORDAudioExceptions.AUDIO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、オーディオ・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.4.2 BFILEのgetProperties( ) (すべての属性)

構文

getProperties(ctx               IN OUT RAW,
              audioBfile        IN OUT NOCOPY BFILE,
              attributes        IN OUT NOCOPY CLOB,
              mimeType          OUT VARCHAR2,
              format            IN OUT VARCHAR2
              encoding          OUT VARCHAR2,
              numberOfChannels  OUT INTEGER,
              samplingRate      OUT INTEGER,
              sampleSize        OUT INTEGER,
              compressionType   OUT VARCHAR2,
              audioDuration     OUT INTEGER);

説明

オーディオBFILEデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、オーディオ・データの属性(時間、MIMEタイプ、圧縮タイプ、フォーマット、エンコーディング・タイプ、チャネル数、サンプリング・レートおよびサンプル・サイズ)のプロパティを取得します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

audioBfile

BFILEで格納されるオーディオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でオーディオBFILEデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

mimeType

オーディオ・データのMIMEタイプが戻されます。

format

オーディオ・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。それ以外の場合は、デフォルトのプラグインが使用され、導出されたフォーマットの値が戻されます。

encoding

オーディオ・データのエンコーディング・タイプが戻されます。

numberOfChannels

オーディオ・データのチャネル数が戻されます。

samplingRate

オーディオ・データが記録されているサンプルの1秒当たりのサンプリング・レートが戻されます。

sampleSize

データ内のオーディオのサンプル幅またはサンプル数が戻されます。

compressionType

オーディオ・データの圧縮タイプが戻されます。

audioDuration

オーディオ・データの再生時間の合計が戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDAudioExceptions.AUDIO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、オーディオ・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.4.3 BLOBのgetProperties( )

構文

getProperties(ctx         IN OUT RAW,
              audioBlob   IN BLOB,
              attributes  IN OUT NOCOPY CLOB,
              format      IN VARCHAR2);

説明

オーディオBLOBデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

audioBlob

BLOBで格納されるオーディオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でオーディオBLOBデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

format

オーディオ・データのフォーマットを指定します。このパラメータにNULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。それ以外の場合、デフォルトのプラグインが使用されます。

使用上の注意

なし。

プラグマ

なし。

例外

ORDAudioExceptions.AUDIO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、オーディオ・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.4.4 BLOBのgetProperties( ) (すべての属性)

構文

getProperties(ctx               IN OUT RAW,
              audioBlob         IN BLOB,
              attributes        IN OUT NOCOPY CLOB,
              mimeType          OUT VARCHAR2,
              format            IN OUT VARCHAR2
              encoding          OUT VARCHAR2,
              numberOfChannels  OUT INTEGER,
              samplingRate      OUT INTEGER,
              sampleSize        OUT INTEGER,
              compressionType   OUT VARCHAR2,
              audioDuration     OUT INTEGER);

説明

オーディオBLOBデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、オーディオ・データの属性(時間、MIMEタイプ、圧縮タイプ、フォーマット、エンコーディング・タイプ、チャネル数、サンプリング・レートおよびサンプル・サイズ)のプロパティを取得します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

audioBlob

BLOBで格納されるオーディオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でオーディオBLOBデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

mimeType

オーディオ・データのMIMEタイプが戻されます。

format

オーディオ・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。それ以外の場合は、導出されたフォーマットの値が戻されます。

encoding

オーディオ・データのエンコーディング・タイプが戻されます。

numberOfChannels

オーディオ・データのチャネル数が戻されます。

samplingRate

オーディオ・データが記録されているサンプルの1秒当たりのサンプリング・レートが戻されます。

sampleSize

データ内のオーディオのサンプル幅またはサンプル数が戻されます。

compressionType

オーディオ・データの圧縮タイプが戻されます。

audioDuration

オーディオ・データの再生時間の合計が戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDAudioExceptions.AUDIO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、オーディオ・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.5 ORDDocオブジェクト型のリレーショナル・インタフェースに固有の静的メソッド

ORDDocリレーショナル・インタフェースに固有のいくつかのOracle Multimedia静的メソッドがあります。

リレーショナル・インタフェースは、ORDDocオブジェクト型ではなくBLOBおよびBFILEに格納されているオーディオ、イメージ、ビデオおよびその他の異機種間メディア・データへのOracle Multimediaサポートを追加します。ORDDocリレーショナル・インタフェースに固有の静的メソッドは、orddspec.sqlファイルで定義されています。

I.5.1 BFILEのgetProperties( )

構文

getProperties(ctx          IN OUT RAW,
              docBfile     IN OUT NOCOPY BFILE,
              attributes   IN OUT NOCOPY CLOB,
              format       IN VARCHAR2);

説明

ドキュメントBFILEデータを読み取ってメディア属性の値を取得し、取得した値を入力CLOBに格納します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

docBfile

BFILEで格納されるドキュメント・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でドキュメントBFILEデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

format

ドキュメント・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。

使用上の注意

なし。

プラグマ

なし。

例外

ORDDocExceptions.DOC_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ドキュメント・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.5.2 BFILEのgetProperties( ) (すべての属性)

構文

getProperties(ctx             IN OUT RAW,
              docBfile        IN OUT NOCOPY BFILE,
              attributes      IN OUT NOCOPY CLOB,
              mimeType        OUT VARCHAR2,
              format          IN OUT VARCHAR2,
              contentLength   OUT INTEGER);

説明

ドキュメントBFILEデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、ドキュメント・データの属性(MIMEタイプ、コンテンツ長およびフォーマット)のプロパティを取得します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

docBfile

BFILEで格納されるドキュメント・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でドキュメントBFILEデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

mimeType

ドキュメント・データのMIMEタイプが戻されます。

format

ドキュメント・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。それ以外の場合は、導出されたフォーマットが戻されます。

contentLength

コンテンツ長がバイト単位で戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDDocExceptions.DOC_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ドキュメント・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.5.3 BLOBのgetProperties( )

構文

getProperties(ctx          IN OUT RAW,
              docBlob      IN BLOB,
              attributes   IN OUT NOCOPY CLOB,
              format       IN VARCHAR2);

説明

ドキュメントBLOBデータを読み取ってメディア属性の値を取得し、取得した値を入力CLOBに格納します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

docBlob

BLOBで格納されるドキュメント・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でドキュメントBLOBデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

format

ドキュメント・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。

使用上の注意

なし。

プラグマ

なし。

例外

ORDDocExceptions.DOC_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ドキュメント・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.5.4 BLOBのgetProperties( ) (すべての属性)

構文

getProperties(ctx             IN OUT RAW,
              docBlob         IN BLOB,
              attributes      IN OUT NOCOPY CLOB,
              mimeType        OUT VARCHAR2,
              format          IN OUT VARCHAR2,
              contentLength   OUT INTEGER);

説明

ドキュメントBLOBデータを読み取ってメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、ドキュメント・データの属性(MIMEタイプ、コンテンツ長およびフォーマット)のプロパティを取得します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

docBlob

BLOBで格納されるドキュメント・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でドキュメントBLOBデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

mimeType

ドキュメント・データのMIMEタイプが戻されます。

format

ドキュメント・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。

contentLength

コンテンツ長がバイト単位で戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDDocExceptions.DOC_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ドキュメント・プラグインに例外が発生した場合に発生します。

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6 ORDImageオブジェクト型のリレーショナル・インタフェースに固有の静的メソッド

一部のOracle Multimedia静的メソッドは、ORDImageリレーショナル・インタフェースに固有です。

リレーショナル・インタフェースは、ORDImageオブジェクト型ではなくBLOBおよびBFILEに格納されているイメージ・データへのOracle Multimediaサポートを追加します。ORDImageリレーショナル・インタフェースに固有の静的メソッドは、ordispec.sqlファイルで定義されています。

I.6.1 BFILEイメージのapplyWatermark( )

構文

applyWatermark(imageBfile           IN OUT NOCOPY BFILE,
               added_image          IN OUT NOCOPY BFILE,
               dest                 IN OUT NOCOPY BLOB,
               logging              OUT VARCHAR2,
               watermark_properties IN ordsys.ord_str_list default null);

説明

イメージ・ウォーターマークをBFILEに格納されたソース・イメージに重ねて配置し、宛先BLOBに書き込みます。

パラメータ

imageBfile

BFILEで格納されるソース・イメージ・データを指定します。

added_image

ソース・イメージに追加するBFILEに格納されたウォーターマーク・イメージです。

dest

ウォーターマーク・イメージの宛先BLOBです。

logging

ウォーターマークの設定操作中に発生した予期しない動作に関する情報を含む文字列です。操作に成功した場合、空の文字列が戻されます。

watermark_properties

ウォーターマーク・イメージの属性(width、height、position、position_x、position_y、transparencyなど)を定義した名前/値ペアの文字列リストです。ウォーターマーク・プロパティの完全なリストは、表D-4を参照してください。

使用上の注意

このメソッドをコールすると、任意のソースBFILEからコピー先BLOBへイメージが処理されます。

ウォーターマークの設定操作およびウォーターマーク・プロパティの詳細は、「ウォーターマークの設定操作」を参照してください。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、ソース・イメージまたは追加されたイメージがNULLの場合に発生します。

ORDImageExceptions.NULL_DESTINATION

この例外は、宛先イメージBLOBがNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.2 BLOBイメージのapplyWatermark( )

構文

applyWatermark(imageBlob            IN BLOB,
               added_image          IN BLOB,
               dest                 IN OUT NOCOPY BLOB,
               logging              OUT VARCHAR2,
               watermark_properties IN ordsys.ord_str_list default null);

説明

イメージ・ウォーターマークをBLOBに格納されたソース・イメージに重ねて配置し、宛先BLOBに書き込みます。

パラメータ

imageBlob

BLOBで格納されるソース・イメージ・データを指定します。

added_image

ソース・イメージに追加するBLOBに格納されたウォーターマーク・イメージです。

dest

ウォーターマーク・イメージの宛先BLOBです。

logging

ウォーターマークの設定操作中に発生した予期しない動作に関する情報を含む文字列です。操作に成功した場合、空の文字列が戻されます。

watermark_properties

ウォーターマーク・イメージの属性(width、height、position、position_x、position_y、transparencyなど)を定義した名前/値ペアの文字列リストです。ウォーターマーク・プロパティの完全なリストは、表D-4を参照してください。

使用上の注意

一時LOBには読取り一貫性がないため、同じ一時LOBをimageBlobパラメータおよびdestパラメータの両方に使用することはできません。

このメソッドをコールすると、任意のソースBLOBからコピー先BLOBへイメージが処理されます。

ウォーターマークの設定操作およびウォーターマーク・プロパティの詳細は、「ウォーターマークの設定操作」を参照してください。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、ソース・イメージまたは追加されたイメージがNULLの場合に発生します。

ORDImageExceptions.NULL_DESTINATION

この例外は、宛先イメージBLOBがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.3 BFILEテキストのapplyWatermark( )

構文

applyWatermark(imageBfile           IN OUT NOCOPY BFILE,
               added_text           IN VARCHAR2,
               dest                 IN OUT NOCOPY BLOB,
               logging              OUT VARCHAR2,
               watermark_properties IN ordsys.ord_str_list default null);

説明

テキスト・ウォーターマークをBFILEに格納されたソース・イメージに重ねて配置し、宛先BLOBに書き込みます。

パラメータ

imageBfile

BFILEで格納されるソース・イメージ・データを指定します。

added_text

ソース・イメージに追加する文字列に格納されたウォーターマーク・テキストです。

dest

ウォーターマーク・イメージの宛先BLOBです。

logging

ウォーターマークの設定操作中に発生した予期しない動作に関する情報を含む文字列です。操作に成功した場合、空の文字列が戻されます。それ以外の場合、このメソッドは、予期しない動作を記述した文字列を戻します。たとえば、ウォーターマーク・テキストが長すぎて切り捨てられる場合、「警告: テキストは長すぎるため切り捨てられます」という文字列が戻されます。

watermark_properties

ウォーターマーク・テキストの属性(font_name、font_style、font_size、text_color、position_x、position_y、transparencyなど)を定義した名前/値ペアの文字列リストです。ウォーターマーク・プロパティの完全なリストは、表D-4を参照してください。

使用上の注意

このメソッドをコールすると、任意のソースBFILEからコピー先BLOBへイメージが処理されます。

ウォーターマークの設定操作およびウォーターマーク・プロパティの詳細は、「ウォーターマークの設定操作」を参照してください。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、ソース・イメージがNULLの場合に発生します。

ORDImageExceptions.NULL_DESTINATION

この例外は、宛先イメージBLOBがNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.4 BLOBテキストのapplyWatermark( )

構文

applyWatermark(imageBlob            IN BLOB,
               added_text           IN VARCHAR2,
               dest                 IN OUT NOCOPY BLOB,
               logging              OUT VARCHAR2,
               watermark_properties IN ordsys.ord_str_list default null);

説明

テキスト・ウォーターマークをBLOBに格納されたソース・イメージに重ねて配置し、宛先BLOBに書き込みます。

パラメータ

imageBfile

BLOBで格納されるソース・イメージ・データを指定します。

added_text

ソース・イメージに追加する文字列に格納されたウォーターマーク・テキストです。

dest

ウォーターマーク・イメージの宛先BLOBです。

logging

ウォーターマークの設定操作中に発生した予期しない動作に関する情報を含む文字列です。操作に成功した場合、空の文字列が戻されます。それ以外の場合、このメソッドは、予期しない動作を記述した文字列を戻します。たとえば、ウォーターマーク・テキストが長すぎて切り捨てられる場合、「警告: テキストは長すぎるため切り捨てられます」という文字列が戻されます。

watermark_properties

ウォーターマーク・テキストの属性(font_name、font_style、font_size、text_color、position_x、position_y、transparencyなど)を定義した名前/値ペアの文字列リストです。ウォーターマーク・プロパティの完全なリストは、表D-4を参照してください。

使用上の注意

一時LOBには読取り一貫性がないため、同じ一時LOBをimageBlobパラメータおよびdestパラメータの両方に使用することはできません。

このメソッドをコールすると、任意のソースBLOBからコピー先BLOBへイメージが処理されます。

ウォーターマークの設定操作およびウォーターマーク・プロパティの詳細は、「ウォーターマークの設定操作」を参照してください。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、ソース・イメージがNULLの場合に発生します。

ORDImageExceptions.NULL_DESTINATION

この例外は、宛先イメージBLOBがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.5 BFILEのgetMetadata( )

構文

getMetadata(imageBfile    IN NOCOPY BFILE,
            metadataType  IN VARCHAR2 DEFAULT 'ALL') RETURN XMLSequenceType;

説明

指定したタイプのメタデータをimageBfileから抽出し、スキーマが妥当なXML文書の配列を戻します。一致するメタデータが検出されなかった場合は、空の配列が戻されます。

パラメータ

imageBfile

BFILEで格納されるイメージ・データを指定します。

metadataType

抽出する埋込みメタデータのタイプを指定する文字列です。有効な値は、ALLORDIMAGEXMPEXIFおよびIPTC-IIMです。デフォルト値はALLです。

使用上の注意

入力パラメータmetadataTypeの値がALLで、2つ以上のタイプのサポートされるメタデータがイメージに存在する場合、このメソッドは複数のXML文書(検出されたメタデータのタイプごとに1つ)を戻します。入力パラメータの値が他の値の場合、このメソッドは0(ゼロ)または1つのXML文書を戻します。

各文書は、XMLTypeのインスタンスとして格納され、いずれかのメタデータ・スキーマに基づいていてます。XQuery関数のfn:namespace-uriを使用して、その文書に示されているメタデータのタイプを判別します。

サポートされるメタデータ・スキーマの詳細は、「Oracle MultimediaメタデータXMLスキーマ」を参照してください。

関連項目:

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、imageBfileパラメータがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.6 BLOBのgetMetadata( )

構文

getMetadata(imageBlob     IN NOCOPY BLOB,
            metadataType  IN VARCHAR2 DEFAULT 'ALL') RETURN XMLSequenceType;

説明

指定したタイプのメタデータをimageBlobから抽出し、スキーマが妥当なXML文書の配列を戻します。一致するメタデータが検出されなかった場合は、空の配列が戻されます。

パラメータ

imageBlob

BLOBで格納されるイメージ・データを指定します。

metadataType

抽出する埋込みメタデータのタイプを指定する文字列です。有効な値は、ALLORDIMAGEXMPEXIFおよびIPTC-IIMです。デフォルト値はALLです。

使用上の注意

入力パラメータmetadataTypeの値がALLで、2つ以上のタイプのサポートされるメタデータがイメージに存在する場合、このメソッドは複数のXML文書(検出されたメタデータのタイプごとに1つ)を戻します。入力パラメータの値が他の値の場合、このメソッドは0(ゼロ)または1つのXML文書を戻します。

各文書は、XMLTypeのインスタンスとして格納され、いずれかのメタデータ・スキーマに基づいていてます。XQuery関数のfn:namespace-uriを使用して、その文書に示されているメタデータのタイプを判別します。

サポートされるメタデータ・スキーマの詳細は、「Oracle MultimediaメタデータXMLスキーマ」を参照してください。

関連項目:

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、imageBlobパラメータがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.7 BFILEのgetProperties( )

構文

getProperties(imageBfile  IN OUT NOCOPY BFILE,
              attributes  IN OUT NOCOPY CLOB);

説明

イメージBFILEデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納します。このメソッドは、XML形式で一連のフォーマット・プロパティをCLOBに移入します。

パラメータ

imageBfile

BFILEで格納されるイメージ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でイメージBFILEデータのフォーマット・プロパティが移入されます。

使用上の注意

なし。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、imageBfileパラメータがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.8 BFILEのgetProperties( ) (すべての属性)

構文

getProperties(imageBfile          IN OUT NOCOPY BFILE,
              attributes          IN OUT NOCOPY CLOB,
              mimeType            OUT VARCHAR2,
              width               OUT INTEGER,
              height              OUT INTEGER,
              fileFormat          OUT VARCHAR2,
              contentFormat       OUT VARCHAR2,
              compressionFormat   OUT VARCHAR2,
              contentLength       OUT INTEGER);

説明

イメージBFILEデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、イメージ・データの属性(MIMEタイプ、幅、高さ、ファイル・フォーマット、コンテンツ・フォーマット、圧縮形式およびコンテンツ長)のプロパティを取得します。これは、XML形式で一連のフォーマット・プロパティをCLOBに移入します。

パラメータ

imageBfile

BFILEで格納されるイメージ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でイメージBFILEデータのフォーマット・プロパティが移入されます。

mimeType

イメージ・データのMIMEタイプが戻されます。

width

イメージの幅がピクセル単位で戻されます。

height

イメージの高さがピクセル単位で戻されます。

fileFormat

イメージ・データのフォーマットが戻されます。

contentFormat

イメージのタイプ(モノクロなど)が戻されます。

compressionFormat

イメージ・データに使用される圧縮アルゴリズムが戻されます。

contentLength

ディスク上のイメージ・ファイルのサイズがバイト単位で戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、imageBfileパラメータがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.9 BLOBのgetProperties( )

構文

getProperties(imageBlob   IN BLOB,
              attributes  IN OUT NOCOPY CLOB);

説明

イメージBLOBデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納します。このメソッドは、XML形式で一連のフォーマット・プロパティをCLOBに移入します。

パラメータ

imageBlob

BLOBで格納されるイメージ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でイメージBLOBデータのフォーマット・プロパティが移入されます。

使用上の注意

なし。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、imageBlobパラメータがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.10 BLOBのgetProperties( ) (すべての属性)

構文

getProperties(imageBlob          IN BLOB,
              attributes         IN OUT NOCOPY CLOB,
              mimeType           OUT VARCHAR2,
              width              OUT INTEGER,
              height             OUT INTEGER,
              fileFormat         OUT VARCHAR2,
              contentFormat      OUT VARCHAR2,
              compressionFormat  OUT VARCHAR2,
              contentLength      OUT INTEGER);

説明

イメージBLOBデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、イメージ・データの属性(MIMEタイプ、幅、高さ、ファイル・フォーマット、コンテンツ・フォーマット、圧縮形式およびコンテンツ長)のプロパティを取得します。これは、XML形式で一連のフォーマット・プロパティをCLOBに移入します。

パラメータ

imageBlob

BLOBで格納されるイメージ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でイメージBLOBデータのフォーマット・プロパティが移入されます。

mimeType

イメージ・データのMIMEタイプが戻されます。

width

イメージの幅がピクセル単位で戻されます。

height

イメージの高さがピクセル単位で戻されます。

fileFormat

イメージ・データのフォーマットが戻されます。

contentFormat

イメージのタイプ(モノクロなど)が戻されます。

compressionFormat

イメージ・データに使用される圧縮アルゴリズムが戻されます。

contentLength

ディスク上のイメージ・ファイルのサイズがバイト単位で戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、imageBlobパラメータがNULLの場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.11 process( )

構文

process(imageBlob IN OUT NOCOPY BLOB,
        command   IN VARCHAR2);

説明

BLOB上でイメージ処理操作を実行し、イメージを上書きします。

パラメータ

imageBlob

BLOBで格納されるイメージ・データを指定します。

command

実行するイメージ処理操作のリストを指定します。

使用上の注意

表10-1に示す1つ以上のイメージ属性を変更できます。表10-2には、ロー・ピクセルおよび外部イメージに対してのみ追加で変更可能な演算子を示します。

process( )の演算子の詳細は、「Oracle Multimediaイメージ処理」を参照してください。

process( )メソッドはイメージ属性を変更するため、イメージ属性を格納する場合は、process( )メソッドをコールした後にgetProperties( )メソッドをコールしてください。

プラグマ

なし。

例外

ORDImageExceptions.DATA_NOT_LOCAL

この例外は、process( )メソッドをコールし、imageBlobパラメータが初期化されていない場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.12 BFILEのprocessCopy( )

構文

processCopy(imageBfile IN OUT NOCOPY BFILE,
            command    IN VARCHAR2,
            dest       IN OUT NOCOPY BLOB);

説明

ソースBFILEのイメージを読み取り、そのイメージに1つ以上のイメージ処理操作を実行して、結果イメージを宛先BLOBに格納します。ソースBFILEの元のイメージ・コンテンツは変更されません。

パラメータ

imageBfile

BFILEで格納されるイメージ・データを指定します。

command

宛先BLOBのイメージで実行するイメージ処理変更操作のリストです。

dest

新しいイメージのコピー先を指定します。

使用上の注意

イメージ処理演算子の詳細は、表10-1および表10-2を参照してください。

このメソッドをコールすると、任意のソースBFILEからコピー先BLOBへイメージが処理されます。

processCopy( )メソッドはイメージ属性を変更するため、イメージ属性を格納する場合は、processCopy( )メソッドをコールした後に宛先イメージでgetProperties( )メソッドをコールしてください。

processCopy( )の演算子の詳細は、「Oracle Multimediaイメージ処理」を参照してください。

プラグマ

なし。

例外

ORDImageExceptions.NULL_DESTINATION

この例外は、processCopy( )メソッドをコールし、コピー先イメージの値がNULLの場合に発生します。

ORDImageExceptions.NULL_LOCAL_DATA

この例外は、imageBfileパラメータがNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.13 BLOBのprocessCopy( )

構文

processCopy(imageBlob  IN BLOB,
            command    IN VARCHAR2,
            dest       IN OUT NOCOPY  BLOB);

説明

ソースBLOBのイメージを読み取り、そのイメージに1つ以上のイメージ処理操作を実行して、結果イメージを宛先BLOBに格納します。ソースBLOBの元のイメージ・コンテンツは変更されません。

パラメータ

imageBlob

BLOBで格納されるソース・イメージ・データを指定します。

command

宛先BLOBのイメージで実行するイメージ処理変更操作のリストです。

dest

新しいイメージのコピー先を指定します。

使用上の注意

イメージ処理演算子の詳細は、表10-1および表10-2を参照してください。

一時LOBには読取り一貫性がないため、同じ一時LOBをimageBlobパラメータおよびdestパラメータの両方に使用することはできません。

このメソッドをコールすると、任意のソースBLOBからコピー先BLOBへイメージが処理されます。

processCopy( )メソッドはイメージ属性を変更するため、イメージ属性を格納する場合は、processCopy( )メソッドをコールした後に宛先イメージでgetProperties( )メソッドをコールしてください。

processCopy( )の演算子の詳細は、「Oracle Multimediaイメージ処理」を参照してください。

プラグマ

なし。

例外

ORDImageExceptions.DATA_NOT_LOCAL

この例外は、processCopy( )メソッドをコールし、imageBlobパラメータが初期化されていない場合に発生します。

この例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.14 BFILEのputMetadata( )

構文

putMetadata(imageBfile     IN NOCOPY BFILE,
            dest           IN OUT NOCOPY BLOB
            xmlData        IN NOCOPY XMLType,
            metadataType   IN VARCHAR2 DEFAULT 'XMP',
            encoding       IN VARCHAR2 DEFAULT "UTF-8");

説明

イメージが含まれているBFILEおよびスキーマが妥当なXML文書を受け入れ、ターゲット・イメージのファイル・フォーマットへの埋込みに適したバイナリ・パケットを作成します。このパケットは、エンコーディング・パラメータの値に基づいてエンコードされます。metadataTypeパラメータの値がXMPの場合、このメソッドは新しいXMPパケットをイメージに書き込み、既存のXMPパケットを置き換えます。埋込みメタデータが含まれている新しいイメージ・ファイルは、destパラメータに戻されます。

パラメータ

imageBfile

イメージに対するBFILEハンドルを指定します。

dest

埋込みメタデータが含まれているイメージを受け取るBLOBを指定します。

xmlData

指定したmetadataTypeに対してスキーマが妥当なXML文書を含むXMLTypeを指定します。metadataTypeパラメータの値がXMPの場合は、ルート要素に整形式RDF文書が含まれている必要があります。

metadataType

書き込むメタデータのタイプを指定する文字列です。有効な値はXMPで、この値がデフォルトです。

encoding

イメージ・ファイルで使用される文字コードを指定します。有効な値は、UTF-8UTF-16UTF-16BEおよびUTF-16LEです。デフォルトは、UTF-8です。

使用上の注意

同じxmlData入力から生成されたバイナリ・メタデータ・パケットのサイズは、エンコーディングによって異なる場合があります。サポートされるエンコーディングはイメージ・ファイル・フォーマットによって異なり、バイナリ・メタデータ・パケットのサイズが制限される場合があります。サポートされるイメージ・フォーマットの制限は、次のとおりです。

  • GIF89aは、UTF-8エンコーディングのみをサポートします。

  • JPEGのバイナリ・パケットのサイズは、65502バイトより小さくする必要があります。

  • TIFFのバイナリ・パケットのサイズは、4GBより小さくする必要があります。

関連項目:

メタデータの機能の詳細は、『Oracle Multimediaユーザーズ・ガイド』を参照してください

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、イメージがNULLの場合に発生します。

ORDImageExceptions.NULL_DESTINATION

この例外は、宛先イメージがNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.6.15 BLOBのputMetadata( )

構文

putMetadata(imageBlob     IN NOCOPY BLOB,
            dest          IN OUT NOCOPY BLOB
            xmlData       IN NOCOPY XMLType,
            metadataType  IN VARCHAR2 DEFAULT 'XMP',
            encoding      IN VARCHAR2 DEFAULT "UTF-8");

説明

イメージが含まれているBLOBおよびスキーマが妥当なXML文書を受け入れ、ターゲット・イメージのファイル・フォーマットへの埋込みに適したバイナリ・パケットを作成します。このパケットは、エンコーディング・パラメータの値に基づいてエンコードされます。metadataTypeパラメータの値がXMPの場合、このメソッドは新しいXMPパケットをイメージに書き込み、既存のXMPパケットを置き換えます。埋込みメタデータが含まれている新しいイメージ・ファイルは、destパラメータに戻されます。

パラメータ

imageBlob

イメージに対するBLOBハンドルを指定します。

dest

埋込みメタデータが含まれているイメージを受け取るBLOBを指定します。

xmlData

指定したmetadataTypeに対してスキーマが妥当なXML文書を含むXMLTypeを指定します。metadataTypeパラメータの値がXMPの場合は、ルート要素に整形式RDF文書が含まれている必要があります。

metadataType

書き込むメタデータのタイプを指定する文字列です。有効な値はXMPで、この値がデフォルトです。

encoding

イメージ・ファイルで使用される文字コードを指定します。有効な値は、UTF-8UTF-16UTF-16BEおよびUTF-16LEです。デフォルトは、UTF-8です。

使用上の注意

一時LOBには読取り一貫性がないため、1つの一時LOBをimageBlobパラメータおよびdestパラメータの両方で使用することはできません。同じxmlData入力から生成されたバイナリ・メタデータ・パケットのサイズは、エンコーディングによって異なる場合があります。サポートされるエンコーディングはイメージ・ファイル・フォーマットによって異なり、バイナリ・メタデータ・パケットのサイズが制限される場合があります。サポートされるイメージ・フォーマットの制限は、次のとおりです。

  • GIF89aは、UTF-8エンコーディングのみをサポートします。

  • JPEGのバイナリ・パケットのサイズは、65502バイトより小さくする必要があります。

  • TIFFのバイナリ・パケットのサイズは、4GBより小さくする必要があります。

関連項目:

メタデータの機能の詳細は、『Oracle Multimediaユーザーズ・ガイド』を参照してください

プラグマ

なし。

例外

ORDImageExceptions.NULL_CONTENT

この例外は、イメージがNULLの場合に発生します。

ORDImageExceptions.NULL_DESTINATION

この例外は、宛先イメージがNULLの場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.7 ORDVideoオブジェクト型のリレーショナル・インタフェースに固有の静的メソッド

一部のOracle Multimedia静的メソッドは、ORDVideoリレーショナル・インタフェースに固有です。

リレーショナル・インタフェースは、ORDVideoオブジェクト型ではなくBLOBおよびBFILEに格納されているビデオ・データへのOracle Multimediaサポートを追加します。ORDVideoリレーショナル・インタフェースに固有の静的メソッドは、ordvspec.sqlファイルで定義されています。

I.7.1 BFILEのgetProperties( )

構文

getProperties(ctx         IN OUT RAW,
              videoBfile  IN OUT NOCOPY BFILE,
              attributes  IN OUT NOCOPY CLOB,
              format      IN VARCHAR2);

説明

ビデオBFILEデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

videoBfile

BFILEで格納されるビデオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でビデオBFILEデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

format

ビデオ・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。

使用上の注意

なし。

プラグマ

なし。

例外

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

ORDVideoExceptions.VIDEO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ビデオ・プラグインに例外が発生した場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.7.2 BFILEのgetProperties( ) (すべての属性)

構文

getProperties(ctx              IN OUT RAW,
              videoBfile       IN OUT NOCOPY BFILE,
              attributes       IN OUT NOCOPY CLOB,
              mimeType         OUT VARCHAR2,
              format           IN OUT VARCHAR2,
              width            OUT INTEGER,
              height           OUT INTEGER,
              frameResolution  OUT INTEGER,
              frameRate        OUT INTEGER,
              videoDuration    OUT INTEGER,
              numberOfFrames   OUT INTEGER,
              compressionType  OUT VARCHAR2,
              numberOfColors   OUT INTEGER,
              bitRate          OUT INTEGER);

説明

ビデオBFILEデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、ビデオ・データの属性(MIMEタイプ、フォーマット、フレーム・サイズ、フレームの解像度、フレーム・レート、ビデオ再生時間、フレーム数、圧縮タイプ、色数およびビット・レート)のプロパティを取得します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

videoBfile

BFILEで格納されるビデオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でビデオBFILEデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

mimeType

ビデオ・データのMIMEタイプが戻されます。

format

ビデオ・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。NULLを指定すると、ビデオ・データのフォーマットが戻されます。

width

ビデオ・データのフレームの幅がピクセル単位で戻されます。

height

ビデオ・データのフレームの高さがピクセル単位で戻されます。

frameResolution

ビデオ・データのフレームの1インチ当たりのピクセル数が戻されます。

frameRate

ビデオ・データが記録されている1秒当たりのフレーム数が戻されます。

videoDuration

ビデオ・データの再生時間の合計が戻されます。

numberOfFrames

ビデオ・データのフレーム数の合計が戻されます。

compressionType

ビデオ・データの圧縮タイプが戻されます。

numberOfColors

ビデオ・データの色数が戻されます。

bitRate

ビデオ・データのビット・レートが戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

ORDVideoExceptions.VIDEO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ビデオ・プラグインに例外が発生した場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.7.3 BLOBのgetProperties( )

構文

getProperties(ctx         IN OUT RAW,
              videoBlob   IN BLOB,
              attributes  IN OUT NOCOPY CLOB,
              format      IN VARCHAR2);

説明

ビデオBLOBデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

videoBlob

BLOBで格納されるビデオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でビデオBLOBデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

format

ビデオ・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。

使用上の注意

なし。

プラグマ

なし。

例外

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

ORDVideoExceptions.VIDEO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ビデオ・プラグインに例外が発生した場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。

I.7.4 BLOBのgetProperties( ) (すべての属性)

構文

getProperties(ctx               IN OUT RAW,
              videoBlob         IN BLOB,
              attributes        IN OUT NOCOPY CLOB,
              mimeType          OUT VARCHAR2,
              format            IN OUT VARCHAR2
              width             OUT INTEGER,
              height            OUT INTEGER,
              frameResolution   OUT INTEGER,
              frameRate         OUT INTEGER,
              videoDuration     OUT INTEGER,
              numberOfFrames    OUT INTEGER,
              compressionType   OUT VARCHAR2,
              numberOfColors    OUT INTEGER,
              bitRate           OUT INTEGER);

説明

ビデオBLOBデータを読み取ってサポートしているフォーマットのメディア属性の値を取得し、入力CLOBに格納して明示的パラメータとして戻します。このメソッドは、ビデオ・データの属性(MIMEタイプ、フォーマット、フレーム・サイズ、フレームの解像度、フレーム・レート、ビデオ再生時間、フレーム数、圧縮タイプ、色数およびビット・レート)のプロパティを取得します。このメソッドは、XML形式で様々なフォーマット・プロパティおよびアプリケーション・プロパティをCLOBに移入します。

パラメータ

ctx

フォーマット・プラグインのコンテキスト情報を指定します。(「リレーショナル・メソッドの重要な注意事項」を参照してください。)

videoBlob

BLOBで格納されるビデオ・データを指定します。

attributes

getProperties( )メソッドによって生成されたXML属性情報を格納するCLOBを指定します。このCLOBには、XML形式でビデオBLOBデータの様々なフォーマット・プロパティおよびアプリケーション・プロパティが移入されます。

mimeType

ビデオ・データのMIMEタイプが戻されます。

format

ビデオ・データのフォーマットを指定します。NULL以外の値を指定すると、このフォーマット・タイプのフォーマット・プラグインが起動します。NULLを指定すると、ビデオ・データのフォーマットが戻されます。

width

ビデオ・データのフレームの幅がピクセル単位で戻されます。

height

ビデオ・データのフレームの高さがピクセル単位で戻されます。

frameResolution

ビデオ・データのフレームの1インチ当たりのピクセル数が戻されます。

frameRate

ビデオ・データが記録されている1秒当たりのフレーム数が戻されます。

videoDuration

ビデオ・データの再生時間の合計が戻されます。

numberOfFrames

ビデオ・データのフレーム数の合計が戻されます。

compressionType

ビデオ・データの圧縮タイプが戻されます。

numberOfColors

ビデオ・データの色数が戻されます。

bitRate

ビデオ・データのビット・レートが戻されます。

使用上の注意

メディア・ソースからプロパティを抽出できない場合、それぞれのパラメータがNULLに設定されます。

プラグマ

なし。

例外

ORDSourceExceptions.EMPTY_SOURCE

この例外は、source.local属性の値が1または0 (TRUE)で、source.localData属性の値がNULLの場合に発生します。

ORDVideoExceptions.VIDEO_PLUGIN_EXCEPTION

この例外は、getProperties( )メソッドをコールし、ビデオ・プラグインに例外が発生した場合に発生します。

これらの例外の詳細は、「Oracle Multimediaオブジェクトの例外」を参照してください。

なし。