IBM Books

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

将对象检索至服务器文件

可使用 Content UDF 来将图象、音频或视频对象检索至服务器文件, 且不进行格式转换。另外,还可使用 Content UDF 来将图象检索至服务器文件,并进行格式转换。

当将图象、音频或视频对象检索至服务器上的文件,且不进行转换时, 指定对象的句柄、目标文件名和覆盖指示符。覆盖指示符 告诉 Extender 在目标文件已存在于服务器上时,是否用检索到的数据覆盖目标文件。若目标文件不存在,则 Extender 在服务器上创建目标文件。

若指定的覆盖指示符值为 1,Extender 将用检索到的数据覆盖目标文件。若指定的覆盖指示符值为 0,Extender 不覆盖目标文件,因而也就不检索数据。

若要检索的对象以 BLOB 形式存储在数据库表中,则覆盖指示符被忽略。无论为覆盖指示符指定了什么内容,都将创建或覆盖目标文件。

当您将对象检索至服务器文件时,它将返回服务器文件的名称。例如,C 应用程序中的以下语句将视频检索至服务器上的文件。服务器文件的文件名存储在主变量 hvVid_fname 中。

EXEC SQL BEGIN DECLARE SECTION;
struct{
        short len;
      char data[250]; 
      }hvVid_fname[;
   EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT CONTENT(
                 VIDEO,                                           /* video handle */
        '/Employee/Videos/ajones.mpg',       /* server file */
        1)                                   /* overwrite target file */
     INTO :hvVid_fname;
  FROM EMPLOYEE
     WHERE NAME = 'Anita Jones';

如果将对象以 BLOB 的形式存储在数据库表中, 则使用 Content UDF 来将对象检索至服务器文件且不进行转换是合适的。若对象存储在服务器文件中,则将源文件的内容复制至目标文件可能更有效率。

当将图象检索至服务器文件,并进行格式转换时, 指定图象句柄、目标文件名、覆盖目标指示符和目标格式。表 4标识了允许的格式转换。还可选择对目标格式指定空值或空白字符串,或指定字符串 ASIS。在这种情况下, 检索到的图象的格式将与源的格式相同。

例如,C 应用程序中的下列语句将图象检索至服务器上的文件。源图象使用位图格式,并以 BLOB 形式存储在数据库表中。 将把检索到的图象转换为 GIF 格式。服务器文件的文件名存储在主变量 hvImg_fname 中。

EXEC SQL BEGIN DECLARE SECTION;
struct{
        short len;
         char [400]; 
        }hvImg_fname[;
   EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT CONTENT(
                 PICTURE,                              /* image handle */
        '/Employee/images/ajones.gif',       /* target file */
        1,                                   /* overwrite target file */
        'GIF')                               /* target format */
     INTO :hvImg_fname
  FROM EMPLOYEE
     WHERE NAME = 'Anita Jones';

服务器文件必须是可存取的:当将对象检索至服务器文件时, 必须指定目标文件的全限定名称。此外,必须确保将 DB2IMAGEEXPORT、 DB2AUDIOEXPORT 和 DB2VIDEOEXPORT 环境变量设置为能正确解析不完整的文件名规范。


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