Image, Audio und Video Extender Verwaltung und Programmierung

Objekt speichern, das sich auf dem Client befindet

Verwenden Sie eine Host-Variable oder eine Dateireferenzvariable, um den Inhalt eines Abbild-, Audio- oder Videoobjekts von einem Client-Puffer oder einer Client-Datei auf den Server zu übertragen.

Befindet sich das Objekt in einer Client-Datei, sollten Sie eine Dateireferenzvariable verwenden, um seinen Inhalt zum Speichern auf den Server zu übertragen. Die Anweisungen im folgenden Beispiel für ein C-Anwendungsprogramm definieren eine Dateireferenzvariable mit dem Namen Audio_file und verwenden sie, um einen Audioclip, dessen Inhalt sich in einer Client-Datei befindet, zu übertragen. Der Audioclip ist in einer Datenbanktabelle auf dem Server gespeichert. Beachten Sie, daß das Feld file_option der Dateireferenzvariablen auf die Option für die Eingabe SQL_FILE_READ gesetzt ist. Beachten Sie auch, daß die Dateireferenzvariable als Inhaltsargument für die benutzerdefinierte Funktion "DB2Audio" verwendet wird.

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

Befindet sich das Objekt in einem Client-Puffer, sollten Sie eine Host-Variable verwenden, die entweder als BLOB oder BLOB_LOCATOR definiert ist, um seinen Inhalt zum Speichern auf den Server zu übertragen. In den folgenden Anweisungen für ein C-Anwendungsprogramm wird eine Host-Variable mit dem Namen Video_loc verwendet, um den Inhalt eines Videoclips zum Speichern auf den Server zu übertragen. Der Videoclip wird als BLOB in einer Datenbanktabelle gespeichert. Beachten Sie, daß die Host-Variable als Inhaltsargument für die benutzerdefinierte Funktion "DB2Video" verwendet wird.

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

Stellen Sie sicher, daß genügend UDF-Speicher zur Verfügung steht: Wenn Sie ein Objekt speichern, dessen Inhalt sich in einem Client-Puffer befindet, 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 aktualisieren, indem Sie den DB2-Befehl UPDATE DATABASE MANAGER CONFIGURATION verwenden.

Weitere Informationen zum Befehl UPDATE DATABASE MANAGER befinden sich im Handbuch DB2 Command Reference.


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