Sie können die benutzerdefinierte Funktion "Content" verwenden, um ein Abbild-, Audio- oder Videoobjekt ohne Formatumsetzung in ein Server-Datei abzurufen. Darüber hinaus können Sie die benutzerdefinierte Funktion "Content" verwenden, um ein Abbild mit Formatumsetzung in eine Server-Datei abzurufen.
Geben Sie die Kennung des Objekts, den Zieldateinamen und einen Überschreibungsanzeiger an, wenn Sie ein Abbild-, Audio- oder Videoobjekt ohne Formatumsetzung in eine Datei auf dem Server abrufen. Der Überschreibungsanzeiger teilt dem Extender mit, ob die Zieldatei mit den abgerufenen Daten überschrieben werden soll, falls sie bereits auf dem Server existiert. Existiert die Zieldatei nicht, erstellt sie der Extender auf dem Server.
Bei Angabe eines Überschreibungsanzeigers mit dem Wert 1 überschreibt der Extender die Zieldatei mit den abgerufenen Daten. Bei Angabe eines Überschreibungsanzeigers mit dem Wert 0 überschreibt der Extender die Zieldatei nicht. Daher werden die Daten nicht abgerufen.
Der Überschreibungsanzeiger wird ignoriert, wenn das abzurufende Objekt als BLOB in einer Datenbanktabelle gespeichert ist. In diesem Fall wird die Zieldatei unabhängig von der Angabe im Überschreibungsanzeiger erstellt oder überschrieben.
Wenn Sie ein Objekt in eine Server-Datei abrufen, gibt es den Namen der Server-Datei zurück. Die folgende Anweisung in einem C-Anwendungsprogramm ruft beispielsweise ein Video in eine Datei auf dem Server ab. Der Dateiname der Server-Datei wird in der Host-Variablen hvVid_fname gespeichert.
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';
Die benutzerdefinierte Funktion "Content" kann verwendet werden, um ein Objekt ohne Formatumsetzung in eine Server-Datei abzurufen, wenn der Inhalt des Abbilds als BLOB (Binary Large Object) in einer Datenbanktabelle gespeichert ist. Ist das Objekt in einer Server-Datei gespeichert, ist es möglicherweise günstiger, den Inhalt der Quellendatei in die Zieldatei zu kopieren.
Geben Sie die Kennung des Abbilds, den Zieldateinamen, einen Überschreibungsanzeiger für das Ziel und das Zielformat an, wenn Sie ein Abbild mit Formatumsetzung in eine Server-Datei abrufen. In Tabelle 4 ist aufgelistet, welche Formatumsetzungen zulässig sind. Sie können als Zielformat auch einen Nullwert, eine leere Zeichenfolge oder die Zeichenfolge ASIS angeben. In diesem Fall hat das abgerufene Abbild das gleiche Format wie die Quelle.
Die folgenden Anweisungen in einem C-Anwendungsprogramm rufen beispielsweise ein Abbild in eine Datei auf dem Server ab. Das Quellenabbild hat das Bitmap-Format und ist als BLOB in einer Datenbanktabelle gespeichert. Das abgerufene Abbild wird in das GIF-Format umgesetzt. Der Dateiname der Server-Datei wird in der Host-Variablen hvImg_fname gespeichert.
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';
Die Server-Datei muß im Zugriff befindlich sein: Wenn Sie ein Objekt in eine Server-Datei abrufen, müssen Sie den vollständig qualifizierten Namen der Zieldatei angeben. Alternativ dazu müssen Sie sicherstellen, daß die Umgebungsvariablen DB2IMAGEEXPORT, DB2AUDIOEXPORT und DB2VIDEOEXPORT so gesetzt sind, daß eine unvollständige Angabe des Dateinamens korrekt aufgelöst werden kann.