Image, Audio und Video Extender Verwaltung und Programmierung

Datenbank- oder Dateispeicherung angeben

Sie können ein Abbild-, Audio- oder Videoobjekt in einer Datenbanktabelle als BLOB (Binary Large Object) oder in einer Server-Datei speichern. Wenn Sie das Objekt in einer Server-Datei speichern, verweist die Datenbank auf die Datei.

Wenn Sie das Objekt aus einem Client-Puffer oder einer Client-Datei speichern, erfolgt die Speicherung als BLOB oder Server-Datei entsprechend den Angaben, die Sie im Parameter target_file machen. Die Angabe eines Dateinamens bedeutet, daß das Objekt in einer Server-Datei gespeichert werden soll. Die Angabe eines Nullwerts oder einer leeren Zeichenfolge bedeutet, daß das Objekt als BLOB in einer Datenbanktabelle gespeichert werden soll. Der Datentyp des Parameters target_file ist LONG VARCHAR. Wenn Sie einen Nullwert angeben, müssen Sie daran denken, ihn mit dem Datentyp LONG VARCHAR zu versehen.

Die folgenden Anweisungen in einem C-Anwendungsprogramm speichern beispielsweise eine Zeile, mit der ein Abbild in eine Datenbanktabelle eingefügt wird. Die Quelle des Abbilds befindet sich in einem Client-Puffer. Das Abbild wird in einer Server-Datei gespeichert. Die Datenbanktabelle zeigt auf die Server-Datei:

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB_LOCATOR Img_buf
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
        DB2IMAGE(
         CURRENT SERVER,
                   :Img_buf,
                   'ASIS',
          '/employee/images/ajones.bmp',    /* store image in server file */
          'Anita''s picture')
       );

Geben Sie die Konstante MMDB_STORAGE_TYPE_INTERNAL

an, wenn Sie ein Objekt aus einer Server-Datei als BLOB in einer Datenbanktabelle speichern wollen. Soll das Objekt gespeichert werden und sein Inhalt in der Server-Datei verbleiben, geben Sie die Konstante MMDB_STORAGE_TYPE_EXTERNAL an. MMDB_STORAGE_TYPE_INTERNAL hat einen ganzzahligen Wert von 1. MMDB_STORAGE_TYPE_EXTERNAL hat einen ganzzahligen Wert von 0.

Im folgenden C-Anwendungsprogramm wird beispielsweise ein Audioclip in einer Server-Datei gespeichert. Der Quelleninhalt des Audioclips befindet sich bereits in einer Server-Datei. Die Speicheroperation stellt den Dateinamen in die Datenbank und ermöglicht dadurch den Zugriff von SQL-Anweisungen auf die Datei.

EXEC SQL BEGIN DECLARE SECTION;
long hvStorageType;
  EXEC SQL END DECLARE SECTION;
 
hvStorageType=MMDB_STORAGE_TYPE_EXTERNAL;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
        DB2AUDIO(
         CURRENT SERVER,
          '/employee/sounds/ajones.wav',
                 'WAVE',
          :hvStorageType,             /* store audio in server file */
          'Anita''s voice')
       );


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