Extensions Image, Audio et Vidéo Administration et programmation

Mise à jour d'un objet stocké dans une base de données ou dans un fichier

Vous pouvez mettre à jour un objet image, audio ou vidéo stocké dans une table de base de données en tant qu'objet BLOB ou dans un fichier du serveur (la base de données contient un pointeur sur ce dernier).

Lorsque vous mettez à jour un objet provenant de la mémoire tampon ou d'un fichier client, vous indiquez le type de stockage (objet BLOB ou fichier du serveur) dans le paramètre nom de fichier (filename). La saisie d'un nom de fichier indique que l'objet à mettre à jour se trouve dans un fichier du serveur. Si vous indiquez comme nom de fichier NULL, cela signifie que l'objet à mettre à jour est stocké en tant qu'objet BLOB dans une table de base de données.

Par exemple, les instructions ci-après, incluses dans un programme d'application en langage C, mettent à jour une image se trouvant dans un fichier du serveur. Les données de mise à jour se trouvent en mémoire tampon sur le poste client. Le commentaire est également modifié.

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB (2M) Img_buf
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL UPDATE EMPLOYEE
       SET PICTURE=REPLACE(
                 PICTURE,
                   :Img_buf,
                   'ASIS',
                   '/Employés/nouvimg/adupont.bmp',  /*mise à jour d'une image*/
                                          /*dans un fichier du serveur*/
                   'Nouvelle photo d''Anne')
       WHERE NAME='Anne Dupont';

Lors de la mise à jour d'un objet à partir d'un fichier du serveur, indiquez MMDB_STORAGE_TYPE_INTERNAL pour modifier un objet stocké dans une table de base de données en tant qu'objet BLOB. Pour mettre à jour un objet stocké dans un fichier du serveur, spécifiez MMDB_STORAGE_TYPE_EXTERNAL.

Par exemple, le programme d'application suivant en C met à jour une séquence audio dont le contenu se trouve dans un fichier du serveur. Les données de mise à jour se trouvent également dans un fichier du serveur.

EXEC SQL BEGIN DECLARE SECTION;
long hvStorageType;
  EXEC SQL END DECLARE SECTION;
 
hvStorageType=MMDB_STORAGE_TYPE_EXTERNAL;
 
EXEC SQL UPDATE EMPLOYEE
   SET SOUND=CONTENT(
                 SOUND,
                 '/Employés/nouvimg/adupont.wav',
          'WAVE',
                 :hvStorageType)     /*mise à jour d'une séquence audio*/
                                     /*dans un fichier du serveur*/
       WHERE NAME='Anne Dupont';


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