图象 | 音频 | 视频 |
---|---|---|
X |
将视频的内容存储在数据库表中。视频源可以在客户机 缓冲区、客户机文件或服务器文件中。可将视频以 BLOB 形式存储在数据库表中, 或存储在服务器文件中(由数据库表引用)。视频源可处于受支持的格式,在这种情况下,DB2Video Extender 标识其存储属性, 也可处于不受支持的格式,在这种情况下,必须在 UDF 中指定属性。
包含文件
dmbvideo.h
语法
从缓冲区或客户机 文件存储内容
>>-DB2Video--(--dbname--,--content--,--format--,----------------> >----target_file--,--comment--)--------------------------------><
语法
从服务器文件存储内容
>>-DB2Video--(--dbname--,--source_file--,--format--,--stortype--,--> >---comment--)-------------------------------------------------><
语法
从缓冲区或客户机文件存储具有用户提供的属性的内容
>>-DB2Video--(--dbname--,--content--,--target_file--,-----------> >----comment--,--attrs--,--thumbnail--)------------------------><
语法
从服务器文件存储具有用户提供的属性的内容
>>-DB2Video--(--dbname--,--source_file--,--stortype--,--comment--,--> >---attrs--,--thumbnail--)-------------------------------------><
参数(数据类型)
返回值(数据类型)
视频的句柄 (DB2VIDEO)
例
将包括 Anita Jones 的视频剪辑的记录插入到 Employee 表中。视频源在客户机缓冲区中。将视频剪辑以 BLOB 形式存储在表中:
EXEC SQL BEGIN DECLARE SECTION SQL TYPE IS BLOB (8M) vid; EXEC SQL END DECLARE SECTION; EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2VIDEO( CURRENT SERVER, :vid, 'MPEG1', CAST(NULL as LONG VARCHAR), 'Anita''s video'));
将包括 Robert Smith 的视频剪辑的记录插入到 Employee 表中。视频源在服务器文件中。Employee 表记录将指向该文件:
EXEC SQL BEGIN DECLARE SECTION; long hvStorageType; EXEC SQL END DECLARE SECTION; hvStorageType = MMDB_STORAGE_TYPE_EXTERNAL; EXEC SQL INSERT INTO EMPLOYEE VALUES( '384779', 'Robert Smith', DB2VIDEO( CURRENT SERVER, '/Employee/Videos/rsmith.mpg', 'MPEG1', :hvStorageType, 'Robert''s video'));
将包括视频剪辑的记录插入到数据库表中。服务器文件中的源视频剪辑具有用户定义的格式。将视频内容存放在服务器文件中(数据库表记录将指向该文件)。还存储表示该视频的缩略图:
EXEC SQL BEGIN DECLARE SECTION; long hvStorageType; struct { short len; char data[400]; }hvVidattrs; struct { short len; char data[10000]; }hvThumbnail; EXEC SQL END DECLARE SECTION; MMDBVideoAttrs *pvideoAttr; hvStorageType = MMDB_STORAGE_TYPE_EXTERNAL; pvideoAttr=(MMDBVideoAttrs *)hvVidattrs.data; strcpy(pvideoAttr>cFormat,"Formatv"); pvideoAttr.len=sizeof(MMDBVideoAttrs);
·
·
·
/* Generate thumbnail and assign data */ /* in video structure */
·
·
·
EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2VIDEO( CURRENT SERVER, '/Employee/Videos/ajones.vid', :hvStorageType, 'Anita''s video', :hvVidattrs, :hvThumbnail) );