I Oracle Multimediaのリレーショナル・インタフェース
この付録では、Oracle Multimediaの元のリレーショナル・インタフェースについて説明します。このインタフェースは、新しいPL/SQL APIによって置き換えられました。
リレーショナル・インタフェースは、次の各Oracle Multimediaオブジェクトの静的メソッドのセットで構成されます。
-
ORDAudio
-
ORDDoc
-
ORDImage
-
ORDVideo
リレーショナル・インタフェースは静的メソッドで構成されているため、オブジェクトはインスタンス化されません。データは、オブジェクト属性ではなくメソッドの引数によって渡されます。
これらの4つのOracle Multimediaオブジェクト用の静的メソッドは、それぞれordaspec.sql
、orddspec.sql
、ordispec.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.sql
、orddspec.sql
、ordispec.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文書の配列を戻します。一致するメタデータが検出されなかった場合は、空の配列が戻されます。
パラメータ
使用上の注意
入力パラメータmetadataTypeの値がALL
で、2つ以上のタイプのサポートされるメタデータがイメージに存在する場合、このメソッドは複数のXML文書(検出されたメタデータのタイプごとに1つ)を戻します。入力パラメータの値が他の値の場合、このメソッドは0(ゼロ)または1つのXML文書を戻します。
各文書は、XMLTypeのインスタンスとして格納され、いずれかのメタデータ・スキーマに基づいていてます。XQuery関数のfn:namespace-uri
を使用して、その文書に示されているメタデータのタイプを判別します。
サポートされるメタデータ・スキーマの詳細は、「Oracle MultimediaメタデータXMLスキーマ」を参照してください。
関連項目:
-
メタデータの機能の詳細は、『Oracle Multimediaユーザーズ・ガイド』を参照してください
-
XQuery関数の詳細は、『Oracle XML DB開発者ガイド』を参照してください
プラグマ
なし。
例外
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文書の配列を戻します。一致するメタデータが検出されなかった場合は、空の配列が戻されます。
パラメータ
使用上の注意
入力パラメータmetadataTypeの値がALL
で、2つ以上のタイプのサポートされるメタデータがイメージに存在する場合、このメソッドは複数のXML文書(検出されたメタデータのタイプごとに1つ)を戻します。入力パラメータの値が他の値の場合、このメソッドは0(ゼロ)または1つのXML文書を戻します。
各文書は、XMLTypeのインスタンスとして格納され、いずれかのメタデータ・スキーマに基づいていてます。XQuery関数のfn:namespace-uri
を使用して、その文書に示されているメタデータのタイプを判別します。
サポートされるメタデータ・スキーマの詳細は、「Oracle MultimediaメタデータXMLスキーマ」を参照してください。
関連項目:
-
メタデータの機能の詳細は、『Oracle Multimediaユーザーズ・ガイド』を参照してください
-
XQuery関数の詳細は、『Oracle XML DB開発者ガイド』を参照してください
プラグマ
なし。
例外
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に移入します。
パラメータ
使用上の注意
なし。
プラグマ
なし。
例外
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に移入します。
パラメータ
使用上の注意
なし。
プラグマ
なし。
例外
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上でイメージ処理操作を実行し、イメージを上書きします。
使用上の注意
表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の元のイメージ・コンテンツは変更されません。
パラメータ
使用上の注意
イメージ処理演算子の詳細は、表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の元のイメージ・コンテンツは変更されません。
パラメータ
使用上の注意
イメージ処理演算子の詳細は、表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-8
、UTF-16
、UTF-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-8
、UTF-16
、UTF-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オブジェクトの例外」を参照してください。
例
なし。