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

將物件擷取至伺服器檔案

您可以使用 Content UDF,不進行格式轉換而將影像、 音效或視訊物件擷取至伺服器檔案。此外,您可以使用 Content UDF, 進行格式轉換而將影像擷取至伺服器檔案。

當您不進行轉換而將影像、音效或視訊物件擷取至伺服器上的檔案時, 請指定物件的 handle、目標檔名以及改寫指示符。改寫指示符告知 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,不進行轉換而將物件擷取至伺服器檔案中。如果物件是儲存在伺服器檔案中, 則將來源檔的內容複製到目標檔會更有效率。

當您進行格式轉換而將影像擷取至伺服器檔案時,請指定影像的 handle、 目標檔名、改寫目標指示符以及目標格式。表 4識別容許的格式轉換。您也 可以選擇對目標格式指定 NULL 值或空字串或字串 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 環境變數, 以便分辨不完整的檔名規格。


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