Image、Audio 及 Video Extenders 管理與程式設計


使用 Extender UDF 和 API

DB2 Extender 提供使用者定義函數,可用來儲存、存取及操作資料庫中的影像、音效及視訊資料。您在應用程式中使用 SQL 陳述式來撰寫這些 UDF 的要求,方法與要求 SQL 內建函數相同。 與內建函數一樣,UDF 是在資料庫伺服器中執行。

下列 C 應用程式中的 SQL 陳述式,要求一個稱為 DB2Image 的 Image Extender UDF, 來將影像儲存於資料庫表格中;該來源影像的內容位於一個伺服器檔案中:

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
  EXEC SQL END DECLARE SECTION;
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL
EXEC SQL INSERT INTO EMPLOYEE VALUES(
        '128557',                         /*id*/
        'Anita Jones',                    /*name*/
        DB2IMAGE(                         /*Image Extender UDF*/
           CURRENT SERVER,                /*database */
           '/employee/images/ajones.bmp', /*image content*/
           'ASIS',                         /*keep the image format*/
           :hvStorageType,                /*store image in DB as BLOB*
          'Anita''s picture')              /*comment*/
       );

您可使用 Extender 應用程式設計介面來顯示影像及播放音效或視訊物件。 您可以使用 C 語言中的 client 函數呼叫來撰寫這些 API。函數可在 您的資料庫從屬站工作站中執行。

下列 C 陳述式包括一個名為 DBiBrowse 的 API。該 API 擷取影像 handle 的資 料,並啟動瀏覽器來顯示影像:

EXEC SQL BEGIN DECLARE SECTION;
char hvImg_hdl [251];
EXEC SQL END DECLARE SECTION
EXEC SQL SELECT PICTURE INTO :hvImg_hdl
     WHERE NAME='Robert Smith';
rc=DBiBrowse(
             "ib %s",                /*image browser*/
             MMDB_PLAY_HANDLE,       /*use image handle*/
             hvImg_hdl,              /*image handle*/
             MMDB_PLAY_NO_WAIT);     /*run browser independently*/
 

UDF 必須以案例的使用者 ID 來執行: DB2 Extender UDF 必須以 DB2 Extender 案例相同的使用者 ID 來執行。 此外, 若您建立 DB2 Extender 案例,或使用現存的 DB2 Extender 案例,則 UDF 必須以 DB2 相同的使用者 ID 來執行。

DB2 必須適當地架構: DB2 必須適當地架構, 確保 DB2 Extender 能正常作業,尤其是指 DB2 Extender UDF 的正常作業。 APP_CTL_HEAP_SZ 資料庫架構參數,特別要適當地設定。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]