Extensions Image, Audio et Vidéo Administration et programmation

Formats des fonctions UDF DB2Image, DB2Audio et DB2Video

En fonction de son utilisation, chaque fonction UDF DB2Image, DB2Audio ou DB2Video peut avoir l'un des formats suivants (xxxxx correspond à Image, Audio ou Vidéo) :

Format 1 : Stockage d'un objet à partir de la mémoire tampon ou d'un fichier client :

DB2xxxxx(
     CURRENT SERVER,          /* nom de la base de données dans CURRENT SERVER REGISTER */
     content,                 /* contenu de l'objet */
     format,                  /* format source */
     target_file,             /* nom du fichier cible pour stockage sur le */
                              /* serveur de fichiers */
                              /* ou NULL pour stockage dans une table */
                              /* en tant qu'objet BLOB */
     comment                  /* commentaire */
  );

Format 2 : Stockage d'un objet à partir d'un fichier du serveur :

DB2xxxxx(
     CURRENT SERVER,           /* nom de la base de données dans CURRENT SERVER REGISTER */
     source_file,              /* nom du fichier source */
     format,                   /* format source */
     stortype,                 /* MMDB_STORAGE_TYPE_EXTERNAL=stockage */
                               /* sur un serveur de fichiers*/
                               /* MMDB_STORAGE_TYPE_INTERNAL=stockage */
                               /* en tant qu'objet BLOB */
     comment                   /* commentaire */
  );

Format 3 : Stockage d'un objet dont les attributs sont définis par l'utilisateur, à partir de la mémoire tampon ou d'un fichier du poste client :

DB2xxxxx(
 
     CURRENT SERVER,          /* nom de la base de données dans CURRENT SERVER */
                              /* REGISTER */
     content,                 /* contenu de l'objet */
     target_file,             /* nom du fichier cible pour stockage sur le */
                              /* serveur de fichiers */
                              /* ou NULL pour stockage dans une table */
                              /* en tant qu'objet BLOB */
     comment,                 /* commentaire */
     attrs,                   /* attributs définis par l'utilisateur */
     thumbnail                /* miniature (objet image et vidéo uniquement) */
  );

Format 4 : Stockage d'un objet dont les attributs sont définis par l'utilisateur, à partir d'un fichier du serveur :

DB2xxxxx(
 
     CURRENT SERVER,          /* nom de la base de données dans CURRENT SERVER */
                              /* REGISTER */
     source_file,             /* nom du fichier source */
     stortype,                /* MMDB_STORAGE_TYPE_EXTERNAL=stockage */
                              /* sur un serveur de fichiers*/
                              /* MMDB_STORAGE_TYPE_INTERNAL=stockage */
                              /* en tant qu'objet BLOB */
     comment,                 /* commentaire */
     attrs,                   /* attributs définis par l'utilisateur */
     thumbnail                /* miniature (objet image et vidéo uniquement) */
  );

La fonction UDF DB2Image comprend les formats supplémentaires suivants :

Format 5 : Stockage d'une image à partir de la mémoire tampon ou d'un fichier client avec conversion de format :

        DB2Image(
     CURRENT SERVER,          /* nom de la base de données dans CURRENT SERVER REGISTER */
     content,                 /* contenu de l'objet */
     source_format,           /* format source */
     target_format,           /* format cible */
     target_file,             /* nom du fichier cible pour stockage sur le */
                              /* serveur de fichiers */
                              /* ou NULL pour stockage dans une table */
                              /* en tant qu'objet BLOB */
     comment                  /* commentaire */
  );

Format 6 : Stockage d'une image à partir d'un fichier du serveur avec conversion de format :

        DB2Image(
     CURRENT SERVER,          /* nom de la base de données dans CURRENT SERVER REGISTER */
     source_file,             /* nom du fichier du serveur */
     source_format,           /* format source */
     target_format,           /* format cible */
     target_file,             /* nom du fichier cible pour stockage sur le */
                              /* serveur de fichiers */
                              /* ou NULL pour stockage dans une table */
                              /* en tant qu'objet BLOB */
     comment                  /* commentaire */
  );

Format 7 : Stockage d'une image à partir de la mémoire tampon ou d'un fichier client avec conversion de format et modifications supplémentaires :

        DB2Image(
     CURRENT SERVER,          /* nom de la base de données dans CURRENT SERVER REGISTER */
     content,                 /* contenu de l'objet */
     source_format,           /* format source */
     target_format,           /* format cible */
     conversion_options,      /* options de conversion  */
     target_file,             /* nom du fichier cible pour stockage sur le */
                              /* serveur de fichiers */
                              /* ou NULL pour stockage dans une table */
                              /* en tant qu'objet BLOB */
     comment                  /* commentaire */
  );

Format 8 : Stockage d'une image à partir d'un fichier du serveur avec conversion de format et modifications supplémentaires :

        DB2Image(
     CURRENT SERVER,          /* nom de la base de données dans CURRENT SERVER REGISTER */
     source_file,             /* nom du fichier du serveur */
     source_format,           /* format source */
     target_format,           /* format cible */
     conversion_options       /* options de conversion */
     target_file,             /* nom du fichier cible pour stockage sur le */
                              /* serveur de fichiers */
                              /* ou NULL pour stockage dans une table */
                              /* en tant qu'objet BLOB */
     comment                  /* commentaire */
  );

Par exemple, les instructions ci-après, incluses dans un programme d'application en langage C, insèrent une ligne contenant une image dans la table Employés. L'image source est stockée sur le serveur, dans un fichier appelé adupont.bmp. La photo est stockée sous la forme d'un objet BLOB dans la table Employés. (Cette opération correspond au format 2.)

EXEC SQL BEGIN DECLARE SECTION;
long hvStorageType;
  EXEC SQL END DECLARE SECTION;
 
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
        '128557',                         /*id*/
        'Anne Dupont',                    /*nom*/
        DB2IMAGE(                          /*UDF de l'extension Image*/
CURRENT SERVER,                  /*base de données*/
          '/Employés/images/adupont.bmp',  /*fichier source */
                 'ASIS',                          /*conservation du format de l'image*/
          :hvStorageType,                  /*stockage image dans BD en tant que BLOB*/
          'Photo d''Anne')                 /*commentaire */
       );

Les instructions ci-après, incluses dans un programme d'application en langage C, permettent de stocker la même ligne que dans l'exemple précédent dans la table Employés, à cette différence près que l'image est convertie du format BMP au format GIF lors du stockage. (Cela correspond au format 6 ci-dessus.)

EXEC SQL INSERT INTO EMPLOYEE VALUES(
        '128557',                         /*id*/
        'Anne Dupont',                    /*nom*/
        DB2IMAGE(                          /*fonction UDF extension Image*/
CURRENT SERVER,                  /*base de données*/
          '/Employés/images/adupont.bmp',  /*fichier source */
          'ASIS',                          /*format image source*/
          'GIF',                           /*format image cible*/
          'Photo d''Anne')                /*commentaire*/
       );

Lorsque vous stockez un objet image, audio ou vidéo, l'extension calcule les attributs tels que le nombre de couleurs de l'image, la durée de lecture ou le format de compression vidéo. Si vous stockez un objet dans un format non reconnu, il vous revient de spécifier ces attributs pour la fonction UDF. L'extension les enregistre dans la base de données avec les autres attributs, tels que les commentaires sur l'objet et l'ID de l'utilisateur qui a stocké l'objet. Ces attributs peuvent ensuite être utilisés dans les requêtes.


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]