Extensions Image, Audio et Vidéo Administration et programmation

Mise à jour d'un objet à partir du poste client

Utilisez une variable SQL ou une variable de référence à un fichier pour mettre à jour le contenu d'un objet image, audio ou vidéo d'une mémoire tampon client ou d'un fichier client.

Si les données de mise à jour se trouvent dans un fichier sur le poste client, utilisez une variable de référence à un fichier pour les transférer. Par exemple, les instructions ci-après, incluses dans un programme d'application en langage C, définissent une variable de référence à un fichier appelé fichier_audio qui sera utilisée pour la mise à jour d'une séquence audio stockée en tant qu'objet BLOB dans la table de base de données. Les données de mise à jour se trouvent dans un fichier du poste client. A noter que la zone file_options de la variable de référence à un fichier a pour valeur SQL_FILE_READ et qu'elle sert d'argument à la fonction UDF Content.

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB_FILE fichier_audio;
  EXEC SQL END DECLARE SECTION;
 
strcpy (fichier_audio.name, "/Employés/nouvson/adupont.wav");
fichier_audio.name_length= strlen(fichier_audio.name);
fichier_audio.file_options= SQL_FILE_READ;
 
EXEC SQL UPDATE EMPLOYEE
   SET SOUND=CONTENT(
                 SOUND,
                 :fichier_audio             /*variable de référence à un fichier*/
                 'WAVE',                    /*conservation du format de l'image*/
                 CAST(NULL as LONG VARCHAR)) 
                 
       WHERE NAME='Anne Dupont';

Si l'objet de la mise à jour se trouve dans la mémoire tampon du poste client, utilisez une variable SQL pour en transférer le contenu. L'exemple ci-après de programme d'application en C utilise une variable SQL appelée seq_vidéo pour transmettre une séquence vidéo à mettre à jour. Le commentaire associé à la séquence est également modifié. La séquence vidéo est stockée dans une table de base de données en tant qu'objet BLOB. A noter que la variable SQL sert d'argument à la fonction UDF Replace.

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB (2M) séq_vidéo
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL UPDATE EMPLOYEE
   SET VIDEO=REPLACE(
                VIDEO,
                 :séq_vidéo  /*variable SQL*/
          'MPEG1',
                 CAST(NULL as LONG VARCHAR),
                 
                 'Nouvelle séquence vidéo d''Anne')
       WHERE NAME='Anne Dupont';

Vérification de la mémoire UDF disponible : Lorsque vous mettez à jour un objet dont les données de mise à jour se trouvent dans la mémoire tampon du client, assurez-vous que le paramètre UDF_MEM_SZ du fichier de configuration du gestionnaire de bases de données est au moins de 4 Mo. Vous pouvez modifier ce paramètre par la commande DB2 UPDATE DATABASE MANAGER CONFIGURATION.


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