Oracle Multimediaでは、様々なマルチメディア・データ・ソースへのアクセスをサポートするORDSourceオブジェクト型が記述されます。このオブジェクト型は、データベースのBLOB内のデータ・ソースへのローカル・アクセスをサポートします。また、ローカル・ファイル・システムのBFILE、HTTPサーバー上のURLまたは別のサーバー上のユーザー定義ソースからデータ・ソースへの外部的なアクセスをサポートします。
ORDSourceオブジェクト型は、ordsrcsp.sql
ファイルで定義されています。 インストール後、このファイルは次のOracleホーム・ディレクトリに格納されています。
<ORACLE_HOME>
/ord/im/admin
(LinuxおよびUNIXの場合)
<ORACLE_HOME>
\ord\im\admin
(Windowsの場合)
Oracle Multimediaには、ORDSourceオブジェクト型について次の情報が含まれます。
このオブジェクトは、他のOracle Multimediaオブジェクトのみで使用されます。この章に記載する情報は、参照用です。ORDSource型を使用することはお薦めしません。
ORDSourceレベルでコールされたメソッドは、ソース・プラグインに渡されて処理され、最初の引数にctx (RAW)を取ります。これらのメソッドのいずれかをクライアントから初めてコールする場合、ctx構造体を割り当ててNULLに初期化してから、open( )メソッドをコールする必要があります。このとき、ソース・プラグインが、このクライアント用にコンテキストを初期化できます。処理が完了したら、クライアントからclose( )メソッドをコールする必要があります。
ソース・プラグインのコールからコールしたメソッドは、最初の引数にobj (ORDSource)を取り、2番目の引数にctx (RAW)を取ります。
注意: 今回のリリースでは、Oracleが提供するいずれのプラグインもctx構造体を使用しません。また、すべてのソース・プラグインまたはフォーマット・プラグインがctx構造体を使用するわけではありませんが、前述の方法でコーディングすると、アプリケーションは、現行または今後のソース・プラグインまたはフォーマット・プラグインで動作します。 |
ORDSourceオブジェクトは、一貫性の維持(たとえば、ローカルとupDateTime属性の)を試みません。一貫性の維持は、ユーザーが行う必要があります。ORDAudio、ORDVideo、ORDImageおよびORDDocオブジェクトは、すべてこれらのオブジェクトが含まれるORDSourceオブジェクトとの一貫性を維持します。
ORDSourceオブジェクト型は、様々なマルチメディア・データ・ソースへのアクセスをサポートします。 このオブジェクト型の属性は、ordsrcsp.sql
ファイルで次のように定義されています。
------------------- -- TYPE ATTRIBUTES ------------------- localData BLOB, srcType VARCHAR2(4000), srcLocation VARCHAR2(4000), srcName VARCHAR2(4000), updateTime DATE, local NUMBER,
属性の説明は次のとおりです。
localData: オブジェクト内にBLOBとしてローカルに格納されたマルチメディア・データです。ブロック・サイズに応じて、最大8TBから128TBのデータをOracle Database内にBLOBで格納できます。また、格納したデータは、Oracleセキュリティおよびトランザクション環境で保護されます。
srcType: データ・ソース・タイプです。サポートされるsrcTypeの値は、次のとおりです。
srcTypeの値 | 説明 |
---|---|
file | ローカル・ファイル・システム上のBFILE |
HTTP | HTTPサーバー |
<name> | ユーザー定義 |
注意: srcTypeの「file」という値は、オラクル社が提供するBFILEソース・プラグイン用の予約語です。独自のファイル・プラグインを実装する場合は、異なる名前(MYFILEなど)を選択してください。srcTypeの「HTTP」という値は、オラクル社が提供するHTTPソース・プラグイン用の予約語です。 |
srcLocation: srcTypeの値に基づいてデータが配置された場所です。srcType値に対応する有効なsrcLocation値は、次のとおりです。
srcType | srcLocationの値 |
---|---|
file | <DIR>またはディレクトリ・オブジェクト名 |
HTTP | <SourceBase>またはベース・ディレクトリの検索に必要なURL(文字列「http://」を含まない) |
<name> | <iden>またはユーザー定義ソースへのアクセスに必要な識別子文字列 |
srcName: データ・オブジェクト名です。srcType値に対応する有効なsrcName値は、次のとおりです。
srcType | srcNameの値 |
---|---|
file | <file>またはファイル名 |
HTTP | <Source>またはオブジェクト名 |
<name> | <object name>またはオブジェクト名 |
updateTime: データの最終更新時刻です。
local: データがローカルに格納されているかどうかを判断するためのフラグです。
11
は、データがBLOBに格納されていることを意味します。
00
は、データが外部ソースに格納されていることを意味します。
NULL
(最初の空白行挿入時のデフォルト状態)は、データがローカルに存在することを意味します。
この項では、ソース・データの操作に使用するORDSourceの次のメソッドに関するリファレンス情報を示します。
オブジェクト型およびメソッドの詳細は、『Oracle Database概要』を参照してください。
構文
clearLocal( );
説明
local属性の値を、1(データ・ソースが、データベースのBLOB内にローカルに格納されていることを意味する)から0(データ・ソースが外部に格納されていることを意味する)にリセットします。
パラメータ
なし
使用上の注意
このメソッドは、local属性を0(データがデータベースの外部に格納されていることを意味する)に設定します。
プラグマ
なし
例外
なし
例
なし
構文
close(ctx IN OUT RAW) RETURN INTEGER;
説明
データ・ソースをクローズします。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
使用上の注意
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
RETURN INTEGERには、成功した場合は0(ゼロ)、失敗した場合は0より大きい値(1など)が戻されます。正確な数字とその意味は、プラグインによって定義されます。たとえば、ファイル・プラグインの場合、1は「ファイルが見つからない」、2は「指定したディレクトリが見つからない」という意味です。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、close( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、close( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
deleteLocalContent( );
説明
localData属性からローカル・データを削除します。
パラメータ
なし
使用上の注意
このメソッドは、ローカル・ソースから外部のデータ・ソースへデータをエクスポートした後、ローカル・ソースのデータが不要になった場合にコールできます。
プラグマ
なし
例外
なし
例
なし
構文
export(ctx IN OUT RAW,
source_type IN VARCHAR2,
source_location IN VARCHAR2,
source_name IN VARCHAR2);
説明
データベース内のlocalData属性から外部データ・ソースへデータをコピーします。
注意: export( )メソッドは、source.srcType値がfileの場合にのみネイティブにサポートされます。この場合、データは、Oracle Databaseにアクセス可能なシステム内にあるファイルにエクスポートされます。ユーザー定義ソースによっては、他のタイプのデータ・ストアに対する書込み権限を提供するexport( )メソッドがサポートされる場合があります。 |
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
エクスポートするソース・データのタイプを指定します。
ソース・データのエクスポート先の位置を指定します。
ソース・データのエクスポート先のオブジェクト名を指定します。
使用上の注意
このメソッドは、localData属性から別のソースへデータをエクスポートします。
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
データをエクスポート後、srcType、srcLocationおよびsrcName属性は、入力パラメータ値で更新されます。export( )メソッドのコール後、clearLocal( )メソッドをコールすると、データがデータベース外に格納されていることを示すことができます。また、ローカル・データの内容を削除するには、deleteLocalContent( )メソッドをコールします。
このメソッドは、export( )メソッドをサポートするユーザー定義ソースにも使用できます。
サーバー側でネイティブにexportメソッドをサポートしているのは、srcTypeがfileの場合のみです。
ソース・タイプがfileの場合、export( )メソッドは、BLOBに格納された元のデータが、読取り以外でアクセスされないという点で、ファイルのコピー操作と同じです。
export( )メソッドは、import( )メソッドと対称的な動作をするわけではありません。export( )メソッドでは、データがデータベース外に格納されていることを示すために、clearLocal( )メソッドが自動的にコールされることはありませんが、import( )メソッドでは、自動的にsetLocal( )メソッドがコールされます。
それ以降でデータベース内のマルチメディア・データを管理しない場合、export( )メソッドをコールした後、deleteLocalContent( )メソッドをコールし、データベースの内容を削除します。
source_typeパラメータの値がfileの場合、source_locationパラメータはOracleディレクトリ・オブジェクトの名前を、source_nameパラメータはデータが含まれるファイルの名前を指定します。
export( )メソッドは、ユーザーがアクセス権を持つデータベース・ディレクトリのオブジェクトに対してのみ書き込みます。つまり、SQLのCREATE DIRECTORY文を使用して作成したディレクトリ・オブジェクト、または読取りおよび書込み権限を付与されたディレクトリ・オブジェクトにアクセスできます。
たとえば、次のSQL*Plusコマンドを実行すると、ディレクトリ・オブジェクトが作成され、ディレクトリ/mydir/work
内の任意のファイルに対する読取りおよび書込み権限がユーザーron
に付与されます。
CONNECT sys/ as sysdba
Enter password: password
CREATE OR REPLACE DIRECTORY FILE_DIR AS '/mydir/work';
GRANT READ,WRITE ON DIRECTORY FILE_DIR TO ron;
これによって、ユーザーron
は、ORDImageオブジェクトのexport( )メソッドを次のように使用して、このディレクトリにあるtestimg.jpg
ファイルにイメージをエクスポートできます。
img.export('FILE', 'FILE_DIR', testimg.jpg');
このメソッドをコールすると、setUpdateTime( )メソッドが暗黙的にコールされます。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、export( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、export( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
getBFile( ) RETURN BFILE;
説明
srcType属性値がfile
の場合に、BFILEハンドルを戻します。
パラメータ
なし
使用上の注意
このメソッドは、srcTypeがfile
の場合にのみ使用可能です。
プラグマ
PRAGMA RESTRICT_REFERENCES(getBFile, WNDS, WNPS, RNDS, RNPS)
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、getBFile( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.INVALID_SOURCE_TYPE
この例外は、getBFile( )メソッドをコールし、srcType属性の値がfile
以外の場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
getContentInTempLob(ctx IN OUT RAW,
tempLob IN OUT NOCOPY BLOB,
mimeType OUT VARCHAR2,
format OUT VARCHAR2,
duration IN PLS_INTEGER := 10,
cache IN BOOLEAN := TRUE);
説明
現行のデータ・ソースから一時LOBへデータを転送します。一時LOBは、このコールの一部として割当ておよび初期化されます。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
このコールで割当てが行われる、初期化されていないBLOBロケータを指定します。
データのMIMEタイプ(audio/basic
など)を受け取る出力パラメータです。
データのフォーマット(AUFF
など)を受け取る出力パラメータです。
割り当てる一時LOBの存続期間を指定します。一時LOBの存続期間には、コール、トランザクションまたはセッションの経過時間を指定できます。デフォルトは、DBMS_LOB.SESSIONです。それぞれのdurationのステータスに有効な値は、次のとおりです。
DBMS_LOB.CALL
DBMS_LOB.TRANSACTION
DBMS_LOB.SESSION
キャッシュしたデータを保持するかどうかを指定します。値は、TRUEまたはFALSEです。デフォルトはTRUEです。
使用上の注意
なし
プラグマ
なし
例外
NO_DATA_FOUND
この例外は、getContentTempInLob( )メソッドをコールし、一時LOBでの読取り操作のループでLOBの終わりに達し、LOBから読み取るバイトがそれ以上存在しない場合に発生します。(この例外はPL/SQLの事前定義例外であるため、ORD<object-type>Exceptions接頭辞は付きません。)
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
getContentLength(ctx IN OUT RAW) RETURN INTEGER;
説明
ソースに格納されているデータのコンテンツ長を戻します。fileソースおよびlocalData属性内のデータの場合、長さはバイト数で戻されます。戻り値の単位の種類は、このメソッドを実装するプラグインによって定義されます。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
使用上の注意
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、getContentLength( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
getLocalContent( ) RETURN BLOB;
説明
localData属性の内容またはBLOBハンドルを戻します。
パラメータ
なし
使用上の注意
なし
プラグマ
PRAGMA RESTRICT_REFERENCES(getLocalContent, WNDS, WNPS, RNDS, RNPS)
例外
なし
例
なし
構文
getSourceAddress(ctx IN OUT RAW,
userData IN VARCHAR2) RETURN VARCHAR2;
説明
外部データ・ソースに格納されているデータのソース・アドレスを戻します。このメソッドは、ユーザー定義ソースのみで実装されます。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
目的のソース・アドレスを取得するためにソースに必要な、ユーザーからの入力情報です。
使用上の注意
ソースがこの情報を独自の方法でフォーマットする必要がある場合、このメソッドを使用して外部データ・ソースのアドレスを戻します。たとえば、getSourceAddress( )メソッドをコールして、Real Networksサーバー・ソースのアドレスまたはOracle Application Server上のデータ・ソースを含むURLを取得します。
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、getSourceAddress( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
getSourceInformation( ) RETURN VARCHAR2;
説明
外部データ・ソースに関するすべての情報を含む文字列を、URL形式で戻します。
パラメータ
なし
使用上の注意
このメソッドは、<srcType>://<srcLocation>/<srcName>という形式のVARCHAR2文字列を戻します。SrcType、srcLocationおよびsrcNameはORDSource属性値です。
プラグマ
PRAGMA RESTRICT_REFERENCES(getSourceInformation, WNDS, WNPS, RNDS, RNPS)
例外
なし
例
なし
構文
getSourceLocation( ) RETURN VARCHAR2;
説明
外部データ・ソースの位置を戻します。
パラメータ
なし
使用上の注意
このメソッドは、srcLocation属性の現在値(BFILEDIRなど)を戻します。
プラグマ
PRAGMA RESTRICT_REFERENCES(getSourceLocation, WNDS, WNPS, RNDS, RNPS)
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、getSourceLocation( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.INCOMPLETE_SOURCE_LOCATION
この例外は、getSourceLocation( )メソッドをコールし、srcLocation属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
getSourceName( ) RETURN VARCHAR2;
説明
外部データ・ソースの名前を戻します。
パラメータ
なし
使用上の注意
このメソッドは、srcName属性の現在値(testaud.datなど)を戻します。
プラグマ
PRAGMA RESTRICT_REFERENCES(getSourceName, WNDS, WNPS, RNDS, RNPS)
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、getSourceName( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.INCOMPLETE_SOURCE_NAME
この例外は、getSourceName( )メソッドをコールし、srcName属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
getSourceType( ) RETURN VARCHAR2;
説明
外部データ・ソースのタイプを戻します。
パラメータ
なし
使用上の注意
このメソッドは、srcType属性の現在値(fileなど)を戻します。
プラグマ
PRAGMA RESTRICT_REFERENCES(getSourceType, WNDS, WNPS, RNDS, RNPS)
例外
なし
例
なし
構文
getUpdateTime( ) RETURN DATE;
説明
オブジェクトが最後に変更されたタイムスタンプ、またはユーザーがsetUpdateTime( )メソッドを明示的にコールして設定したタイムスタンプを戻します。(このメソッドは、updateTime属性の値を戻します。)
パラメータ
なし
使用上の注意
なし
プラグマ
PRAGMA RESTRICT_REFERENCES(getUpdateTime, WNDS, WNPS, RNDS, RNPS)
例外
なし
例
なし
構文
import(ctx IN OUT RAW,
mimeType OUT VARCHAR2,
format OUT VARCHAR2);
説明
外部データ・ソース(最初にsetSourceInformation( )をコールして指定されたソース)からデータベース内のlocalData属性へデータを転送します。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。この情報は、import( )コールを処理するソース・プラグインへ未解釈のまま渡されます。
データのMIMEタイプ(audio/basicなど)を受け取る出力パラメータ(存在する場合)です。
データのフォーマット(AUFFなど)を受け取る出力パラメータ(存在する場合)です。
使用上の注意
setSourceInformation( )をコールしてsrcType、srcLocationおよびsrcName属性値を設定し、import( )メソッドをコールする前のデータ・ソース位置を記述します。
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
このメソッドは、PL/SQL UTL_HTTPパッケージを使用して、HTTPデータ・ソースからメディア・データをインポートします。環境変数を使用して、UTL_HTTPパッケージのプロキシの動作を指定できます。たとえば、LinuxおよびUNIXの場合、環境変数http_proxyをURLに設定すると、UTL_HTTPパッケージはそのURLをHTTPリクエスト用のプロキシ・サーバーとして使用します。環境変数no_proxyをドメイン名に設定すると、HTTPプロキシ・サーバーは指定したドメイン内のURLには使用されません。
UTL_HTTP PL/SQLパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、import( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、import( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
ORDSourceExceptions.NULL_SOURCE
この例外は、import( )メソッドをコールし、localData属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
importFrom(ctx IN OUT RAW,
mimeType OUT VARCHAR2,
format OUT VARCHAR2
source_type IN VARCHAR2,
source_location IN VARCHAR2,
source_name IN VARCHAR2);
説明
指定された外部データ・ソース(タイプ、位置、名前)からデータベース内のlocalData属性へデータを転送し、source属性とタイムスタンプをリセットします。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。この情報は、importFrom( )コールを処理するソース・プラグインへ未解釈のまま渡されます。
データのMIMEタイプ(audio/basicなど)を受け取る出力パラメータ(存在する場合)です。
データのフォーマット(AUFFなど)を受け取る出力パラメータ(存在する場合)です。
インポートするソース・データのタイプを指定します。これによって、srcType属性も設定されます。
インポート元のソース・データの位置を指定します。これによって、srcLocation属性も設定されます。
インポートするソース・データの名前を指定します。これによって、srcName属性も設定されます。
使用上の注意
このメソッドは、タイプ、位置および名前パラメータの値を指定することによって、データ・ソースの位置を記述します。これらの各パラメータは、importFrom( )操作が正常終了した後に、srcType、srcLocationおよびsrcName属性値をそれぞれ設定します。
このメソッドは、setSourceInformation( )コールおよびそれに続くimport( )コールの組合せです。
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
このメソッドは、PL/SQL UTL_HTTPパッケージを使用して、HTTPデータ・ソースからメディア・データをインポートします。環境変数を使用して、UTL_HTTPパッケージのプロキシの動作を指定できます。たとえば、LinuxおよびUNIXの場合、環境変数http_proxyをURLに設定すると、UTL_HTTPパッケージはそのURLをHTTPリクエスト用のプロキシ・サーバーとして使用します。環境変数no_proxyをドメイン名に設定すると、HTTPプロキシ・サーバーは指定したドメイン内のURLには使用されません。
UTL_HTTP PL/SQLパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
プラグマ
なし
例外
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、importFrom( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
ORDSourceExceptions.NULL_SOURCE
この例外は、importFrom( )メソッドをコールし、localData属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
isLocal( ) RETURN BOOLEAN;
説明
データがlocalData属性のBLOBでローカルに格納される場合はTRUEを、データが外部に格納される場合はFALSEを戻します。
パラメータ
なし
使用上の注意
local属性が1またはNULLに設定されている場合、このメソッドはTRUEを戻します。それ以外の場合は、FALSEを戻します。
プラグマ
PRAGMA RESTRICT_REFERENCES(isLocal, WNDS, WNPS, RNDS, RNPS)
例外
なし
例
なし
構文
open(userArg IN RAW, ctx OUT RAW) RETURN INTEGER;
説明
データ・ソースをオープンします。ctxパラメータを受け取る他の任意のメソッドをコールする前に、このメソッドをコールすることをお薦めします。
パラメータ
ユーザー定義の入力パラメータを指定します。
ソース・プラグインのコンテキスト情報を指定します。
使用上の注意
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
RETURN INTEGERには、成功した場合は0(ゼロ)、失敗した場合は0より大きい値(1など)が戻されます。正確な数字とその意味は、プラグインによって定義されます。たとえば、ファイル・プラグインの場合、1は「ファイルが見つからない」、2は「指定したディレクトリが見つからない」という意味です。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、open( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、open( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
processCommand(ctx IN OUT RAW,
command IN VARCHAR2,
arglist IN VARCHAR2,
result OUT RAW)
RETURN RAW;
説明
コマンドおよび関連する引数をソース・プラグインに送信します。このメソッドは、ユーザー定義ソースのみでサポートされています。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
ソース・プラグインで認識される任意のコマンドを指定します。
コマンドの引数を指定します。
ソース・プラグインによって戻される、このメソッドのコール結果です。
使用上の注意
このメソッドを使用して、任意のコマンドおよびその引数をプラグインに送信します。指定したコマンドは、このメソッドでは解釈されず、そのまま渡されて処理されます。
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、processCommand( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、processCommand( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
read(ctx IN OUT RAW,
startPos IN INTEGER,
numBytes IN OUT INTEGER,
buffer OUT RAW);
説明
ソースの開始位置(startPos)からnumBytesのバッファを読み取ります。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
データ・ソースの開始位置を指定します。
データ・ソースから読み取るバイト数を指定します。
データの読取り先バッファを指定します。
使用上の注意
このメソッドは、HTTPソースにはサポートされていません。
HTTPソース・タイプの読取りを確実に行うには、URLソース全体の読取り要求を実行する必要があります。HTTPソース・タイプ用の読取りメソッドを実装するには、HTTPソース・タイプ用に修正したソース・プラグイン内で、このメソッドを独自に実装する必要があります。
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、read( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、read( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
ORDSourceExceptions.NULL_SOURCE
この例外は、read( )メソッドをコールし、local属性の値が1またはNULLで、localData属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
setLocal( );
説明
BLOBデータがデータベース内のlocalData属性に格納されていることを示すlocal属性を設定します。
パラメータ
なし
使用上の注意
このメソッドは、local属性を1(データがlocalData属性でローカルに格納されていることを意味する)に設定します。
プラグマ
なし
例外
なし
例
なし
構文
setSourceInformation(source_type IN VARCHAR2,
source_location IN VARCHAR2,
source_name IN VARCHAR2);
説明
外部データ・ソースを記述するsrcType、srcLocationおよびsrcName属性について、指定されたサブコンポーネント情報を設定します。
パラメータ
外部ソース・データのタイプを指定します。詳細は、「ORDSourceオブジェクト型」を参照してください。
外部ソース・データの位置を指定します。詳細は、「ORDSourceオブジェクト型」を参照してください。
外部ソース・データの名前を指定します。詳細は、「ORDSourceオブジェクト型」を参照してください。
使用上の注意
import( )メソッドをコールする前に、setSourceInformation( )メソッドをコールしてsrcType、srcLocationおよびsrcName属性情報を設定し、データ・ソースの位置を記述する必要があります。importFrom( )またはexport( )メソッドをコールする場合、これらの属性はimportFrom( )またはexport( )コールが正常終了した後で設定されます。
このメソッドを使用する前に、source_locationパラメータで指定したディレクトリが存在するか、または作成されていることを確認する必要があります。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、setSourceInformation( )メソッドをコールし、source_typeパラメータの値がNULLの場合に発生します。
この例外の詳細は、付録Hを参照してください。
例
なし
構文
setUpdateTime(current_time DATE);
説明
updateTime属性の値を、指定された時刻に設定します。
パラメータ
更新時刻を指定します。
使用上の注意
current_timeがNULLの場合、updateTimeはSYSDATE(現在の時刻)に設定されます。
プラグマ
なし
例外
なし
例
なし
構文
trim(ctx IN OUT RAW,
newlen IN INTEGER) RETURN INTEGER;
説明
データ・ソースを切り捨てます。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
切捨て後の新しい長さを指定します。
使用上の注意
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
RETURN INTEGERには、成功した場合は0(ゼロ)、失敗した場合は0より大きい値(1など)が戻されます。正確な数字とその意味は、プラグインによって定義されます。たとえば、ファイル・プラグインの場合、1は「ファイルが見つからない」、2は「指定したディレクトリが見つからない」という意味です。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、trim( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、trim( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし
構文
write(ctx IN OUT RAW,
startPos IN INTEGER,
numBytes IN OUT INTEGER,
buffer IN RAW);
説明
ソースの開始位置(startPos)からnumBytesのバッファを書き込みます。
パラメータ
ソース・プラグインのコンテキスト情報を指定します。
バッファのコピー先のソースの開始位置を指定します。
ソースに書き込むバイト数を指定します。
データの書込み先のバッファを指定します。
使用上の注意
このメソッドは、ソースで、任意のバイト位置からnumBytesの書込みが可能であることを想定しています。たとえば、fileおよびHTTPソース・タイプは書込みできないため、このメソッドをサポートしていません。
このメソッドのコールでは、ORDPLUGINS.ORDX_<srcType>_SOURCEプラグイン・パッケージが使用されます。
プラグマ
なし
例外
ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION
この例外は、write( )メソッドをコールし、srcType属性の値がNULLの場合に発生します。
ORDSourceExceptions.METHOD_NOT_SUPPORTED
この例外は、write( )メソッドをコールし、使用するソース・プラグインがこのメソッドをサポートしていない場合に発生します。
ORDSourceExceptions.NULL_SOURCE
この例外は、read( )メソッドをコールし、local属性の値が1またはNULLで、localData属性の値がNULLの場合に発生します。
これらの例外の詳細は、付録Hを参照してください。
例
なし