使用主變數或檔案參考變數,自從屬站緩衝區或從屬站檔案將 影像、音效或視訊物件傳送到伺服器。
如果物件是在從屬站檔案中,請使用檔案參考變數來傳送其內容, 以儲存在伺服器中。例如,下列 C 應用程式中的陳述式中,定義一個檔案參考變數 Audio_file,然後使用該變數傳送其內容是在從屬站檔案的音效片段。 音效片段會被儲存在伺服器上的資料庫表格。 請注意: 檔案參考變數的 file_options 欄位會被設定為 SQL_FILE_READ 以供輸入。另請注意檔案參考變數 被用來作為對 DB2Audio UDF 的內容引數。
EXEC SQL BEGIN DECLARE SECTION; SQL TYPE IS BLOB_FILE Audio_file; EXEC SQL END DECLARE SECTION; strcpy (Audio_file.name, "/employee/sounds/ajones.wav"); Audio_file.name_length= strlen(Audio_file.name); Audio_file.file_options= SQL_FILE_READ; EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2AUDIO( CURRENT SERVER, :Audio_file, /* file reference variable */ 'WAVE', CAST(NULL as LONG VARCHAR), 'Anita''s voice') );
若物件位於從屬站緩衝區,請使用一個定義成 BLOB 或 BLOB_LOCATOR 的主變數來傳送物件內容,以便 儲存於伺服器。 在下列 C 應用程式陳述式中,主變數 Video_loc 用來傳送視訊片段內容以便儲存 在伺服器。 視訊片段被儲存為資料庫表格中的 BLOB。 請注意:主變數被用來作為對 DB2Video UDF 的內容引數。
EXEC SQL BEGIN DECLARE SECTION; SQL TYPE IS BLOB_LOCATOR Video_loc; EXEC SQL END DECLARE SECTION; EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2VIDEO( CURRENT SERVER, :Video_loc, /* host variable */ 'MPEG1', '', 'Anita''s video') );
請確定有足夠 UDF 記憶體:儲存一個其內容是在從屬站緩衝區的物件 時,您必須確定「資料庫管理程式架構」中的 UDF_MEM_SZ 參數設定為 4 MB 或更大。
您可以使用 DB2 指令 UPDATE DATABASE MANAGER CONFIGURATION 來更新 UDF_MEM_SZ 參數。
有關 UPDATE DATABASE MANAGER 指令的更多資訊,請參閱 DB2 Command Reference。