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

取り出しのための Content UDF 形式

Content UDF は多重定義されます。 つまり、UDF の使用方法に応じて異なる形式を持ちます。 形式は次のとおりです。

形式 1: クライアント・バッファーまたはクライアント・ファイルにオブジェクトを取り出す。

Content(
     handle,                      /* object handle */
  );

形式 2: クライアント・バッファーまたはクライアント・ファイルにオブジェクトのセグメントを取り出す。

Content(
     handle,                      /* object handle */
     offset,                      /* offset where retrieval begins */
     size                         /* number of bytes to retrieve */
  );

形式 3: サーバー・ファイルにオブジェクトを取り出す。

Content(
     handle,                      /* object handle */
     target_file,                 /* server file name */
     overwrite                    /* 0=Do not overwrite target file if it exists */
                                  /* 1=Overwrite target file */
 
  );

さらに、画像オブジェクトの場合には、Content UDF は次の形式をとります。

形式 4: 形式変換をしてクライアント・バッファーまたはファイルに画像を取り出す。

Content(
     handle,                      /* object handle */
     target format                /* target format */
       );

形式 5: 形式変換をしてオブジェクトをサーバー・ファイルに取り出す。

Content(
     handle,                 /* object handle */
     target_file,            /* server file name */
     overwrite,              /* 0=Do not overwrite target file if it exists */
                             /* 1=Overwrite target file */
     target format           /* target format */
     
  );

形式 6: 形式変換および追加の変更をして、オブジェクトをクライアント・バッファーまたはファイルに取り出す。

Content(
     handle,                 /* object handle */
     target format,          /* target format */
     conversion_options      /* conversion options */
  );

形式 7: 形式変換および追加の変更をして、オブジェクトをサーバー・ファイルに取り出す。

Content(
     handle,                 /* object handle */
     target_file,            /* server file name */
     overwrite,              /* 0=Do not overwrite target file if it exists */
                             /* 1=Overwrite target file */
     target format,          /* target format */
     conversion_options      /* conversion options */
  );

たとえば、次のステートメントでは、画像を従業員表からサーバーのファイルへ取り出します。 (これは上の形式 3 に対応します。)

EXEC SQL SELECT CONTENT(                 /* retrieval UDF */
       PICTURE,                          /* image handle */
       '/employee/images/ajones.bmp',    /* target file */
       1)                                /* overwrite target file */
FROM EMPLOYEE
WHERE NAME = 'Anita Jones';

C アプリケーション・プログラムの次のステートメントでは、画像を従業員表からサーバーのファイルへ取り出します。 取り出しの際、画像の形式が変換されます。 (これは上の形式 5 に対応します。)

EXEC SQL BEGIN DECLARE SECTION;
  char hvImg_fname[255];
EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT CONTENT(                   /* retrieval UDF */
       PICTURE,                            /* image handle */
       '/employee/images/ajones.bmp',      /* target file */
       1,                                  /* overwrite target file */
       'GIF')                              /* target format */ 
INTO :hvImg_fname
FROM EMPLOYEE
WHERE NAME = 'Anita Jones';


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