IBM Books

Image Extender、Audio Extender 和 Video Extender 管理和程序设计

更新具有用户提供的属性的对象

当更新具有用户提供的属性的图象、音频或视频对象时, 必须指定更新内容的属性。在属性结构中指定属性值。必须将属性结构存储在 UDF 中 LONG VARCHAR FOR BIT DATA 变量的数据字段中。

服务器上的 UDF 代码总是期望数据处于"大尾格式"。大尾格式是大多数 UNIX 平台所使用的格式。若正在存储处于"小尾格式"的对象, 则需要准备用户提供的属性数据,以使服务器上的 UDF 代码可以正确地处理它。小尾格式是 Intel 和其他微处理器平台中通常使用的格式。(即使不以小尾格式存储对象, 准备用户提供的属性数据也是一个好主意。) 使用 DBiPrepareAttrs API 来准备图象对象的属性。使用 DBaPrepareAttrs API 来准备音频对象的属性。使用 DBvPrepareAttrs API 来准备视频对象的属性。

例如,C 应用程序中的下列语句更新其内容在服务器文件中的图象。该图象具有用户定义的格式,高度为 640 象素,宽度为 480 象素。注意,在更新图象之前属性已准备好。

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
   struct {
        short len;
       char data[400];
       }hvImgattrs;
   EXEC SQL END DECLARE SECTION;
 
DB2IMAGEATTRS    *pimgattr;
 
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL;
 
pimgattr = (DB2IMAGEATTRS *) hvImgattrs.data;
strcpy(pimgattr>Format,"FormatI");
pimgattr>width=640;
pimgattr>height=480;
hvImgattrs.len=sizeof(DB2IMAGEATTRS);
 
DBiPrepareAttrs(pimgattr);
 
EXEC SQL UPDATE EMPLOYEE
       SET PICTURE=REPLACE(
                 PICTURE,
                 '/Employee/newimg/ajones.bmp',
         :hvStorageType,
                 'Anita''s new picture',
                 :ImgAttrs,                     /*user-supplied attributes*/
          CAST(NULL as LONG VARCHAR))
       WHERE NAME='Anita Jones';


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]