Image, Audio und Video Extender Verwaltung und Programmierung

Objekt in den Client abrufen

Sie können die benutzerdefinierte Funktion "Content" verwenden, um ein Abbild-, Audio- oder Videoobjekt ohne Formatumsetzung in einen Client-Puffer oder eine Client-Datei abzurufen. Darüber hinaus haben Sie bei Abbildern die Möglichkeit anzugeben, daß der Image Extender beim Abrufen das Format des Abbilds umsetzen soll.

Objekt ohne Formatumsetzung in einen Client abrufen

Verwenden Sie einen LOB-Zeiger, um ein Abbild-, Audio- oder Videoobjekt in einen Client-Puffer abzurufen, oder rufen Sie das LOB ab. Verwenden Sie eine Dateireferenzvariable, um ein Abbild-, Audio- oder Videoobjekt in eine Client-Datei abzurufen.

Das Abrufen eines Abbild-, Audio- oder Videoobjekts in einen Client-Puffer unter Verwendung einer Host-Variablen oder in eine Client-Datei unter Verwendung einer Dateireferenzvariablen wird verwendet, wenn der Inhalt des Objekts als BLOB (Binary Large Object) in einer Datenbanktabelle gespeichert ist. Befindet sich der Inhalt in einer Server-Datei, ist es möglicherweise günstiger, den Inhalt von der Server- in die Client-Datei zu kopieren.

Geben Sie die Kennung des Objekts an. Wahlweise können Sie außerdem die relative Adresse (beginnend mit Byte 1), an der die Abrufoperation beginnen soll, und die Anzahl der abzurufenden Byte angeben.

Die folgenden Anweisungen in einem C-Anwendungsprogramm verwenden einen LOB-Zeiger mit dem Namen audio_loc, um einen Audioclip in einen Client-Puffer abzurufen.

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';

Stellen Sie sicher, daß genügend UDF-Speicher zur Verfügung steht: Wenn Sie ein Objekt in einen Client-Puffer abrufen, müssen Sie sicherstellen, daß der Parameter UDF_MEM_SZ in der Datenbankmanagerkonfiguration auf einen Wert von mindestens 4 MB gesetzt ist. Sie können den Parameter UDF_MEM_SZ mit dem DB2-Befehl UPDATE DATABASE MANAGER CONFIGURATION aktualisieren. Informationen zum Befehl UPDATE DATABASE MANAGER befinden sich in der Veröffentlichung DB2 Command Reference.

Abbild mit Umsetzung in einen Client abrufen

Verwenden Sie einen LOB-Zeiger, um ein gespeichertes Abbild mit Formatumsetzung in einen Client-Puffer abzurufen, oder rufen Sie das LOB ab. Verwenden Sie eine Dateireferenzvariable, um ein gespeichertes Abbild mit Formatumsetzung in eine Client-Datei abzurufen.

Das Abrufen eines Abbilds in einen Client-Puffer unter Verwendung einer Host-Variablen oder in eine Client-Datei unter Verwendung einer Dateireferenzvariablen wird verwendet, wenn der Inhalt des Abbilds als BLOB (Binary Large Object) in einer Datenbanktabelle gespeichert ist. Befindet sich der Inhalt in einer Server-Datei, ist es möglicherweise günstiger, den Inhalt von der Server- in die Client-Datei zu kopieren.

Wenn Sie ein Abbild mit Formatumsetzung abrufen, müssen Sie sein Zielformat (d. h. das Format, in das umgesetzt wurde) angeben. In Tabelle 4 sind die gültigen Formatumsetzungen aufgelistet. Außerdem können Sie Umsetzungsoptionen für zusätzliche Änderungen angeben, z. B. Drehung oder Maßstabsänderung, die für das abgerufene Abbild angewendet werden sollen. In Tabelle 5 werden die Umsetzungsoptionen aufgelistet, die Sie angeben können.

Die folgenden Anweisungen in einem C-Anwendungsprogramm rufen beispielsweise ein Abbild in eine Client-Datei ab. Das Quellenabbild hat das Bitmap-Format und ist als BLOB in einer Datenbanktabelle gespeichert. Das abgerufene Abbild wird in das GIF-Format umgesetzt und auf die Dreifache der Originalgröße vergrößert.

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';


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]