您可以使用 Content UDF,不進行格式轉換而將影像、音效或視訊物件擷取至從屬站緩衝區或檔案中。此外, 您可以選擇在擷取影像時,讓 Image Extender 轉換其格式。
使用 LOB 定位器將影像、音效或視訊物件擷取至從屬站緩衝區或擷取 LOB。使用檔案參考變數 將影像、音效或視訊物件擷取至 從屬站檔案。
當物件內容以 BLOB 的形式儲存在資料庫表格時,適合使用主變數將影像、音效或視訊物件擷取至 從屬站緩衝區,或使用檔案參考變數將影像、音效或視訊物件擷取至從屬站檔案。 如果內容是在伺服器檔案中, 則從伺服器檔案將內容複製到從屬站檔案會更有效率。
請指定物件的 handle。 您也可選用從位元組 1 (開始擷取的位置) 開始指定偏移, 以及指定要擷取的位元組數。
下列 C 應用程式的陳述式中使用名為 audio_loc 的 LOB 定位器,來將音效片段擷取至從屬站 緩衝區。
EXEC SQL BEGIN DECLARE SECTION; SQL TYPE IS BLOB_LOCATOR audio_loc; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT CONTENT( SOUND) /* audio handle */ INTO :audio_loc FROM EMPLOYEE WHERE NAME = 'Anita Jones';
請確定有足夠 UDF 記憶體:將物件擷取至從屬站緩衝區時,您必須確 定「資料庫管理程式架構」中的 UDF_MEM_SZ 參數設定為 4MB 或更大。
您可以使用 DB2 指令 UPDATE DATABASE MANAGER CONFIGURATION 來更新 UDF_MEM_SZ 參數。 欲獲取有關 UPDATE DATABASE MANAGER 指令的其它資訊,請參閱出版品 DB2 指令參考文件。
使用 LOB 定位器,進行格式轉換而將儲存的影像擷取至從屬站緩衝區中, 或擷取 LOB。使用檔案參考變數將儲存的影像擷取至從屬站檔案,並做格式轉換。
當影像內容以 BLOB 的形式儲存在資料庫表格時,適合使用主變數將影像擷取至從屬站緩衝區 ,或使用檔案參考變數將影像擷取至從屬站檔案。 如果內容是在伺服器檔案中, 則從伺服器檔案將內容複製到從屬站檔案會更有效率。
當您進行格式轉換而擷取影像時,您需指定其目標格式, 亦即轉換後的格式。表 4 識別容許的格式轉換。您也可以指定識別諸如旋轉或定標等要引用到擷取影像之額外變更的轉換選項。 表 5列出可指定的轉換選項。
例如,下列在 C 應用程式中的陳述式會將影像擷取至從屬站檔案。來源影像使用點陣圖格式 而且以 BLOB 的形式儲存在資料庫表格。 擷取的影像會被轉換成 GIF 格式,而且調整比例成為原來大小的 3 倍。
EXEC SQL BEGIN DECLARE SECTION; SQL TYPE IS BLOB_FILE Img_file; EXEC SQL END DECLARE SECTION; strcpy (Img_file.name, "/employee/images/ajones.gif"); Img_file.name_length= strlen(Img_file.name); Img_file.file_options= SQL_FILE_CREATE; EXEC SQL SELECT CONTENT( PICTURE, /* image handle */ 'GIF', /* target format */ '-s 3.0') /* conversion options */ INTO :Img_file, FROM EMPLOYEE WHERE NAME = 'Anita Jones';