使用者在工作站從屬站上,顯示 Robert Smith 的影像,並播放 Robert Smith 的錄音。 影像以 BLOB 的形式儲存在員工表格中;聲音的內容錄製在伺服器檔案中。
使用者的作法: 使用者顯示影像及播放錄音的方法,是經由含有 SQL 陳述式的應用程式,SQL 陳述式顯示於下列範例。
EXEC SQL BEGIN DECLARE SECTION; char hvImg_hdl [251]; char hvAud_hdl [251]; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT PICTURE, /*Get image handle*/ VOICE /*Get audio handle*/ INTO :hvImg_hdl, :hvAud_hdl FROM EMPLOYEE WHERE NAME='Robert Smith'; rc=DBiBrowse( NULL, /*Use default image browser*/ MMDB_PLAY_HANDLE, /*Use handle*/ hvImg_hdl, /*Image handle*/ MMDB_PLAY_NO_WAIT); /*Run browser independently*/ rc=DBaPlay( NULL, /*Use default audio player*/ MMDB_PLAY_HANDLE, /*Use handle*/ hvAud_hdl, /*Audio handle*/ MMDB_PLAY_WAIT); /*Wait for player to end*/ /*before continuing*/ |
結果: DB2 擷取 Robert Smith 的影像和錄音之 handle。 然後,為了回應 DBiBrowse API,Image Extender 使用所擷取的影像 handle, 來取得影像內容。 Image Extender 從資料庫中擷取擷取內容,並放入暫時從屬站檔案中, 供影像瀏覽程式來顯示。NULL 參數表示透過使用者系統的預設影像瀏覽程式。 瀏覽程式獨立於所呼叫的程式之外,表示所呼叫的程式不會等待影像瀏覽程式完成之後才繼續執行。
為了回應 DBaPlay API,Audio Extender 取得與所擷取 handle 相關的音效檔名, 並將該檔名傳遞給音效播放程式。 NULL 參數表示透過使用者系統的預設音效播放程式。 所呼叫的程式在繼續執行之前, 會先等待使用者結束音效播放程式。