イメージ、オーディオ、およびビデオ・エクステンダー 管理およびプログラミングの手引き

オブジェクトをクライアントから更新する

画像、音声、ビデオのオブジェクトをクライアント・バッファーまたはクライアント・ファイルから更新するには、ホスト変数かファイル参照変数を使用します。

更新のソースがクライアント・ファイルにある場合は、ファイル参照変数を使って内容を伝送します。 たとえば、C アプリケーション・プログラムの次のステートメントでは、Audio_file というファイル参照変数を定義し、それを使ってデータベース表に BLOB として保管されている音声クリップを更新します。 この更新のソースはクライアント・ファイルにあります。 ファイル参照変数の file_options フィールドは、SQL_FILE_READ、つまり入力用に設定されています。 また、ファイル参照変数が Content UDF への内容引き数として使用されています。

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB_FILE Audio_file;
EXEC SQL END DECLARE SECTION;
 
strcpy (Audio_file.name, "/employee/newsound/ajones.wav");
Audio_file.name_length= strlen(Audio_file.name);
Audio_file.file_options= SQL_FILE_READ;
 
EXEC SQL UPDATE EMPLOYEE
   SET SOUND=CONTENT(
                 SOUND,
                 :Audio_file                 /*file reference variable*/
                 'WAVE',                     /*keep the image format*/
                 CAST(NULL as LONG VARCHAR))
                 
   WHERE NAME='Anita Jones';

オブジェクトがクライアント・バッファーにある場合は、ホスト変数を使ってその内容を伝送し、更新します。 次の C アプリケーション・プログラムの例では、Video_seg というホスト変数を使ってビデオ・クリップの内容を伝送し、更新します。 そのビデオ・クリップに対応する注釈も更新されます。 ビデオ・クリップは、データベース表に BLOB として保管されます。 ホスト変数が Replace UDF へ内容の引き数として使用されています。

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB (2M) Video_seg
EXEC SQL END DECLARE SECTION;
 
EXEC SQL UPDATE EMPLOYEE
   SET VIDEO=REPLACE(
                 VIDEO,
                 :Video_seg                  /*host variable*/
                 'MPEG1',
                 CAST(NULL as LONG VARCHAR),
                 
                 'Anita''s new video')
   WHERE NAME='Anita Jones';

UDF メモリーは十分とってください: 更新するオブジェクトの内容がクライアント・バッファーにある場合は、データベース・マネージャー構成の UDF_MEM_SZ パラメーターを 4 MB 以上に設定することが必要です。

UDF_MEM_SZ パラメーターは、DB2 コマンドの UPDATE DATABASE MANAGER CONFIGURATION を使用すれば更新できます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]