Extensions Image, Audio et Vidéo Administration et programmation

Extraction et utilisation d'attributs

Lorsque vous stockez un objet image, audio ou vidéo dans une base de données, l'extension enregistre également les attributs de celui-ci dans la base. Lorsque vous mettez à jour un objet, l'extension modifie les attributs de l'objet stocké dans la base de données. Vous pouvez utiliser ces attributs dans les requêtes.

Les extensions créent des fonctions UDF pour chaque attribut qu'elles gèrent. Il en résulte que vous pouvez spécifier ces fonctions UDF dans des instructions SQL pour accéder aux attributs d'un objet et les utiliser. Le Le tableau ci-après répertorie les attributs gérés par les extensions, ainsi que les fonctions UDF correspondantes. Il indique également les types d'objet pour chaque attribut. Certains attributs, tels que le format d'un objet et le nom de fichier, sont communs à tous les types d'objet ; c'est-à-dire qu'ils sont associés aussi bien aux objets image, audio que vidéo. D'autres attributs, tels la fréquence d'échantillonnage ou le type de compression, sont propres aux objets audio et vidéo.

Tableau 6. Attributs gérés par DB2 Extensions
Attribut Fonction UDF Image Audio Vidéo
Nom du fichier du serveur dans lequel l'objet est stocké Filename x x x
ID de l'utilisateur qui a stocké l'objet Importer x x x
Date et heure de stockage de l'objet ImportTime x x x
Taille de l'objet en octets Size x x x
ID du dernier utilisateur ayant mis l'objet à jour Updater x x x
Date et heure de la dernière mise à jour de l'objet UpdateTime x x x
Format de l'objet (par exemple, GIF ou MPEG1) Format x x x
Commentaires sur l'objet Comment x x x
Hauteur de l'objet (en pixels) Height x   x
Largeur de l'objet (en pixels) Width x   x
Nombre de couleurs de l'objet NumColors x    
Image miniature de l'objet Thumbnail x   x
Nombre d'octets renvoyés par échantillon dans une séquence audio ou dans une piste audio d'une vidéo AlignValue   x x
Nombre de bits utilisés pour représenter chaque échantillon BitsPerSample   x x
Nombre de canaux enregistrés NumChannels   x x
Durée (en secondes) Duration   x x
Fréquence d'échantillonnage (en échantillons par seconde) SamplingRate   x x
Nombre moyen d'octets par seconde transférés BytesPerSec   x  
Numéro de piste audio pour l'instrument FindInstrument   x  
Numéro de la piste nommée FindTrackName   x  
Nom des instruments enregistrés GetInstruments   x  
Numéros et noms des pistes des instruments enregistrés GetTrackNames   x  
Battements de métronome par seconde TicksPerSec   x  
Battements de métronome par noire TicksPerQNote   x  
Rapport hauteur/largeur AspectRatio     x
Format de compression vidéo (MPEG1, par exemple) CompressType     x
Débit en images par seconde FrameRate     x
Débit maximal (en octets par seconde) MaxBytesPerSec     x
Nombre de pistes audio NumAudioTracks   x x
Nombre d'images vidéo NumFrames     x
Nombre de pistes vidéo NumVideoTracks     x

Vous pouvez utiliser une fonction UDF d'attribut comme argument dans la clause SELECT ou comme critère de recherche dans la clause WHERE d'une instruction SQL. Lorsque vous appelez la fonction UDF, entrez le nom de la colonne de la table de base de données qui contient le descripteur objet.

Par exemple, l'instruction suivante utilise la fonction UDF Updater dans la clause SELECT d'une instruction SQL SELECT pour extraire l'ID du dernier utilisateur ayant modifié une image dans la table Employés :

EXEC SQL BEGIN DECLARE SECTION;
char hvUpdatr[30];
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT UPDATER(PICTURE)
     INTO :hvUpdatr
       FROM EMPLOYEE
     WHERE NAME = 'Anne Dupont';

L'instruction suivante utilise la fonction UDF Filename dans la clause SELECT d'une instruction SELECT et la fonction UDF NumAudioTracks dans la clause WHERE pour rechercher les séquences vidéo de la table Employés qui possèdent des bandes son :

EXEC SQL BEGIN DECLARE SECTION;
char hvVid_fname[251];
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT FILENAME(VIDEO)
     INTO :hvVid_fname
       FROM EMPLOYEE
     WHERE NUMAUDIOTRACKS(VIDEO)>0;


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