IBM Books

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

存储驻留在客户机上的对象

通过使用主变量或文件引用变量,将图象、 音频或视频对象的内容从客户机缓冲区或客户机文件传送至服务器。

若对象在客户机文件中,则使用文件引用变量来传送它的内容, 以便将它存储在服务器中。例如,C 应用程序中的下列语句定义 名为 Audio_file 的文件引用变量, 并使用它来传送内容位于客户机文件中的音频剪辑。该音频剪辑存储在服务器上的数据库表中。注意, 文件引用变量的 file_option 字段设置为 SQL_FILE_READ,表示输入。另外还需注意, 文件引用变量被用作 DB2Audio UDF 的内容自变量。

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB_FILE Audio_file;
EXEC SQL END DECLARE SECTION;
 
strcpy (Audio_file.name, "/employee/sounds/ajones.wav");
Audio_file.name_length= strlen(Audio_file.name);
Audio_file.file_options= SQL_FILE_READ;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
        '128557',
        'Anita Jones',
        DB2AUDIO(
          CURRENT SERVER,
          :Audio_file,          /* file reference variable */
          'WAVE',
          CAST(NULL as LONG VARCHAR),
          
          'Anita''s voice')
      );

若对象在客户机缓冲区中,则使用定义为 BLOB 或 BLOB_LOCATOR 的主变量来传送其内容,以便存储在服务器中。在下列 C 应用程序语句中, 使用名为 Video_loc 的主变量来传送视频剪辑的内容,以便存储在服务器中。该视频剪辑以 BLOB 的形式存储在数据库表中。注意,该主变量被用作 DB2Video UDF 的内容自变量。

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB_LOCATOR Video_loc;
   EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
        DB2VIDEO(
         CURRENT SERVER,
          :Video_loc,         /* host variable */
         'MPEG1',
          '',
          'Anita''s video')
       );

确保有足够的 UDF 内存:当存储其内容在客户机缓冲区中的对象时, 需要确保将“数据库管理程序配置”中的 UDF_MEM_SZ 参数 设置为 4 MB 或更大。可通过使用 DB2 命令 UPDATE DATABASE MANAGER CONFIGURATION 来更新 UDF_MEM_SZ 参数。

有关 UPDATE DATABASE MANAGER 命令的更多信息, 参见DB2 Command Reference


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