Extensions Image, Audio et Vidéo Administration et programmation

Extraction d'un objet et copie sur le poste client

Vous pouvez utiliser la fonction UDF Content pour extraire un objet image, audio ou vidéo et le copier dans la mémoire tampon ou un fichier du poste client sans conversion de format. En outre, l'extension Image vous permet de convertir le format d'une image lors de son extraction.

Extraction d'un objet et copie sur le poste client sans conversion de format

Utilisez un releveur de coordonnées LOB pour extraire un objet image, audio ou vidéo et le copier dans la mémoire tampon ou un fichier du poste client, ou bien procédez à l'extraction de l'objet LOB. Utilisez une variable de référence à un fichier pour extraire un objet image, audio ou vidéo vers un fichier client.

L'extraction d'un objet image, audio ou vidéo dans la mémoire tampon d'un poste client à l'aide d'une variable SQL ou dans un fichier du poste client à l'aide d'une variable de référence à un fichier est recommandée lorsque le contenu de l'objet est stocké dans une table de base de données en tant qu'objet BLOB. Si le contenu se trouve dans un fichier du serveur, la copie de ce dernier dans un fichier du poste client peut être plus rapide.

Spécifiez le descripteur de l'objet. Vous pouvez également spécifier l'adresse relative par rapport à l'octet 1 (décalage), à laquelle va commencer l'extraction, ainsi que le nombre d'octets à extraire.

Les instructions suivantes, incluses dans un programme d'application en langage C, utilisent un releveur de coordonnées LOB appelé loc_audio pour extraire une séquence audio et la copier dans la mémoire tampon du poste client :

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB_LOCATOR loc_audio;
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT CONTENT(
        SOUND)                               /* descripteur audio */
     INTO :loc_audio
       FROM EMPLOYEE
     WHERE NAME = 'Anne Dupont';

Vérification de la mémoire UDF disponible : Lorsque vous réalisez l'extraction d'un objet et sa copie dans la mémoire tampon du client, il convient de vérifier que le paramètre UDF_MEM_SZ (indiqué dans la 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. Pour plus d'informations sur la commande UPDATE DATABASE MANAGER, reportez-vous au manuel DB2 Command Reference.

Extraction d'une image et copie sur le poste client avec conversion

Utilisez un releveur de coordonnées pour extraire une image stockée et la copier dans la mémoire tampon d'un poste client avec conversion de format, ou effectuez l'extraction du LOB. Utilisez une variable de référence à un fichier pour extraire une image stockée et la copier dans un fichier du poste client avec conversion de format.

L'extraction d'un objet image dans la mémoire tampon d'un poste client à l'aide d'une variable SQL ou dans un fichier du poste client à l'aide d'une variable de référence à un fichier est recommandée lorsque le contenu de l'objet image est stocké dans une table de base de données en tant qu'objet BLOB. Si le contenu se trouve dans un fichier du serveur, la copie de ce dernier dans un fichier du poste client peut être plus rapide.

Lors de l'extraction d'une image après conversion de format, spécifiez son format cible, c'est-à-dire le format converti. Le Tableau 4 identifie les conversions de format autorisées. Vous pouvez également spécifier les options de conversion identifiant des modifications supplémentaires, telles que la rotation ou le changement d'échelle, que vous souhaitez appliquer à l'image extraite. Le Tableau 5 répertorie les options de conversion que vous pouvez spécifier.

Par exemple, les instructions ci-après, incluses dans un programme d'application en langage C, permettent d'extraire une image et de la copier dans un fichier du poste client. L'image source est au format bitmap et elle est stockée dans une table de base de données en tant qu'objet BLOB. L'image extraite est convertie au format GIF et agrandie 3 fois.

EXEC SQL BEGIN DECLARE SECTION;
  SQL TYPE IS BLOB_FILE Img_file;
  EXEC SQL END DECLARE SECTION;
 
strcpy (Img_file.name, "/Employés/images/adupont.gif");
Img_file.name_length= strlen(Img_file.name);
Img_file.file_options= SQL_FILE_CREATE;
 
EXEC SQL SELECT CONTENT(
                 PICTURE,                              /* descripteur image */
        'GIF',                               /* format cible */
        '-s 3.0')                            /* options de conversion */
     INTO :Img_file,
       FROM EMPLOYEE
     WHERE NAME = 'Anne Dupont';


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