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

データベースまたはファイル記憶域を指定した更新

データベース表に BLOB として保管されている画像、音声、またはビデオのオブジェクトや、サーバー・ファイルにある (そしてデータベースからポイント指定されている) オブジェクトが更新可能です。

オブジェクトをクライアント・バッファーまたはクライアント・ファイルから保管する場合には、filename パラメーターでの指定内容によって、BLOB かサーバー・ファイル記憶域のどちらかを表します。 ファイル名を指定すると、更新されるオブジェクトの内容はサーバー・ファイルにあるものとみなされます。 ファイル名にヌル値を指定すると、更新されるオブジェクトは、データベース表に BLOB として保管されているものとみなされます。

たとえば、C アプリケーション・プログラムの次のステートメントでは、更新される画像の内容はサーバー・ファイルにあります。 更新ソースはクライアント・バッファーにあります。 画像の注釈も同時に更新されます。

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB (2M) Img_buf
EXEC SQL END DECLARE SECTION;
 
EXEC SQL UPDATE EMPLOYEE
   SET PICTURE=REPLACE(
                   PICTURE,
                   :Img_buf,
                   'ASIS',
                   '/employee/newimg/ajones.bmp',      /*update image in*/
                                                       /*server file*/
                   'Anita''s new picture')
   WHERE NAME='Anita Jones';

サーバー・ファイルにあるオブジェクトを更新する場合には、MMDB_STORAGE_TYPE_INTERNAL を指定して、データベース表に BLOB として保管されているオブジェクトを更新します。

内容がサーバー・ファイルにあるオブジェクトを更新するには、MMDB_STORAGE_TYPE_EXTERNAL と指定します。

たとえば、次の C アプリケーション・プログラムでは、音声クリップが更新されます。 音声クリップの内容はサーバー・ファイルにあります。 この更新のソースもサーバー・ファイルにあります。

EXEC SQL BEGIN DECLARE SECTION;
  long hvStorageType;
EXEC SQL END DECLARE SECTION;
 
hvStorageType=MMDB_STORAGE_TYPE_EXTERNAL;
 
EXEC SQL UPDATE EMPLOYEE
   SET SOUND=CONTENT(
                 SOUND,
                 '/employee/newimg/ajones.wav',
                 'WAVE',
                 :hvStorageType)        /*update audio in server file*/
   WHERE NAME='Anita Jones';


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