Image, Audio und Video Extender Verwaltung und Programmierung

Formate der UDF "Replace" für die Aktualisierung

Die benutzerdefinierte Funktion (UDF) "Replace" ist mehrfach belegt. Dies bedeutet, daß sie abhängig von der Verwendung der UDF unterschiedliche Formate hat. Folgende Formate stehen zur Verfügung:

Format 1: Objekt aus einem Client-Puffer oder einer Client-Datei aktualisieren und dessen Kommentar ebenfalls aktualisieren:

Replace(
     handle,                      /* object handle */
     content,                     /* object content */
     source_format,               /* source format */
     target_file,                 /* target file name for storage in file */
     comment                      /* user comment */
  );

Format 2: Objekt aus einer Server-Datei aktualisieren und dessen Kommentar ebenfalls aktualisieren:

Replace(
     handle,                      /* object handle */
     source_file,                 /* server file name */
     source_format,               /* source format */
     stortype,                    /* MMDB_STORAGE_TYPE_EXTERNAL=store */
                                  /* in file server*/
                                  /* MMDB_STORAGE_TYPE_INTERNAL=store as a BLOB*/
     comment                      /* user comment */
  );

Format 3: Objekt mit vom Benutzer angegebenen Attributen aus einer Server-Datei ersetzten und dessen Kommentar ebenfalls ersetzen:

Replace(
     handle,                      /* object handle */
     content,                     /* object content */
     target_file,                 /* target file name for storage in file */
                                  /* or NULL for storage in table as BLOB */
     comment,                     /* user comment */
     attrs,                       /* user-supplied attributes */
     thumbnail                    /* thumbnail */
  );

Format 4: Objekt mit vom Benutzer angegebenen Attributen aus einer Server-Datei speichern:

Replace(
     handle,                      /* object handle */
     source_file,                 /* server file name */
     stortype,                    /* MMDB_STORAGE_TYPE_EXTERNAL=store */
                                  /* in file server*/
                                  /* MMDB_STORAGE_TYPE_INTERNAL=store as a BLOB*/
     comment,                     /* user comment */
     attrs,                       /* user-supplied attributes */
     thumbnail                    /* thumbnail */
  );

Für Abbildobjekte verfügt die UDF "Replace" über die folgenden zusätzlichen Formate:

Format 5: Abbild aus einem Client-Puffer oder einer Client-Datei mit Formatumsetzung aktualisieren und seinen Kommentar ebenfalls aktualisieren:

Replace(
     handle,                      /* object handle */
     content,                     /* object content */
     source_format,               /* source format */
     target_format,               /* target format */
     target_file,                 /* target file name for storage in file server */
                                  /* or NULL for storage in table as BLOB */
     comment                      /* user comment */
  );

Format 6: Objekt aus einer Server-Datei mit Formatumsetzung aktualisieren und dessen Kommentar ebenfalls aktualisieren:

Replace(
     handle,                      /* object handle */
     source_file,                 /* server file name */
     source_format,               /* source format */
     target_format,               /* target format */
     target_file,                 /* MMDB_STORAGE_TYPE_EXTERNAL=store */
                                  /* in file server */
                                  /* MMDB_STORAGE_TYPE_INTERNAL=store as a BLOB*/
     comment                      /* user comment */
  );

Format 7: Abbild aus einem Client-Puffer oder einer Client-Datei mit Formatumsetzung und zusätzlichen Änderungen aktualisieren und seinen Kommentar ebenfalls aktualisieren:

Replace(
     handle,                      /* object handle */
     content,                     /* object content */
     source_format,               /* source format */
     target_format,               /* target format */
     conversion_options,          /* conversion options */ 
     target_file,                 /* target file name for storage in file server */
                                  /* or NULL for storage in table as BLOB */
     comment                      /* user comment */
  );

Format 8: Objekt aus einer Server-Datei mit Formatumsetzung und zusätzlichen Änderungen aktualisieren und dessen Kommentar ebenfalls aktualisieren:

Replace(
     handle,                      /* object handle */
     source_file,                 /* server file name */
     source_format,               /* source format */
     target_format,               /* target format */
     conversion_options,          /* conversion options */
     target_file,                 /* MMDB_STORAGE_TYPE_EXTERNAL=store */
                                  /* in file server */
                                  /* MMDB_STORAGE_TYPE_INTERNAL=store as a BLOB*/
     comment                      /* user comment */
  );

Die folgenden Anweisungen in einem C-Anwendungsprogramm aktualisieren beispielsweise einen Audioclip in der Tabelle 'employee' und aktualisieren den ihm zugeordneten Kommentar. Der Quelleninhalt für die Aktualisierung befindet sich in einer Server-Datei mit dem Namen ajones.wav. Der aktualisierte Audioclip wird in der Tabelle 'employee' ohne Formatumsetzung als BLOB (Binary Large Object) gespeichert (der Audio Extender unterstützt keine Formatumsetzung). Dies entspricht dem oben aufgeführten Format 2.

EXEC SQL BEGIN DECLARE SECTION;
long hvStorageType;
  EXEC SQL END DECLARE SECTION;
 
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL;
 
EXEC SQL UPDATE EMPLOYEE
   SET SOUND=REPLACE(
                 SOUND,                         /*audio handle*/
                 '/employee/newaud/ajones.wav', /*source file */
                 'WAV',                         /*keep the audio format*/
                 :hvStorageType,                /*store audio in DB as BLOB*/
                 'Anita''s new greeting')       /*user comment*/
       WHERE NAME='Anita Jones';

Im folgenden Beispiel werden ein Abbild und der ihm zugeordnete Kommentar aktualisiert. Der Quelleninhalt für die Aktualisierung befindet sich in einer Server-Datei. Das aktualisierte Abbild wird in der Tabelle 'employee' als BLOB (Binary Large Object) gespeichert und beim Aktualisieren vom BMP-Format in das GIF-Format umgesetzt. (Dies entspricht dem oben aufgeführten Format 6.)

EXEC SQL UPDATE EMPLOYEE
       SET PICTURE=REPLACE(
              PICTURE,                      /*image handle*/
                 '/employee/newimg/ajones.bmp',   /*source file */
                 'BMP',                           /*source format*/
                 'GIF',                           /*target format*/
                 ''                               /*store image in DB as BLOB*/
                   'Anita''s new picture')
   WHERE NAME='Anita Jones';                      /* user comment */


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