Un utilisateur souhaite afficher la photo de Robert Durand et entendre l'échantillon vocal correspondant . La photo est stockée sous la forme d'un objet BLOB dans la table Employés, et l'échantillon vocal dans un fichier du serveur.
Opérations effectuées par l'utilisateur : L'utilisateur affiche l'image et écoute l'enregistrement audio à l'aide d'un programme d'application comportant les instructions SQL présentées dans l'exemple suivant.
EXEC SQL BEGIN DECLARE SECTION; char hvImg_hdl [251]; char hvAud_hdl [251]; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT PICTURE, /*Extraction du descripteur*/ /*de l'image*/ VOICE /*Extraction du descripteur de*/ /*la séquence audio*/ INTO :hvImg_hdl, :hvAud_hdl FROM EMPLOYEE WHERE NAME='Robert Durand'; rc=DBiBrowse( NULL, /*Utilisation de l'afficheur graphique*/ /*par défaut*/ MMDB_PLAY_HANDLE, /*Utilisation du descripteur*/ hvImg_hdl, /*Descripteur de l'image*/ MMDB_PLAY_NO_WAIT); /*Exécution indépendante de l'afficheur*/ rc=DBaPlay( NULL, /*Utilisation du programme de*/ /*lecture audio par défaut*/ MMDB_PLAY_HANDLE, /*Utilisation du descripteur*/ hvAud_hdl, /*Descripteur de la séquence audio*/ MMDB_PLAY_WAIT); /*Attente de l'arrêt du programme*/ /*audio avant poursuite*/ |
Résultat obtenu : DB2 commence par extraire le descripteur de la photo et de l'échantillon vocal de Robert Durand. Ensuite, en réponse à l'appel de l'API DBiBrowse, l'extension Image extrait le contenu de l'image associée au descripteur fourni par DB2. L'extraction s'effectue à partir de la base de données et l'image est placée dans un fichier client temporaire pour en permettre l'affichage. Le paramètre NULL indique que le programme d'affichage graphique défini par défaut sur le poste de l'utilisateur sera utilisé. L'exécution du programme d'affichage s'effectue indépendamment du programme appelant. L'exécution de ce dernier peut donc se poursuivre sans qu'il soit nécessaire d'attendre l'arrêt du programme d'affichage.
En réponse à l'appel de l'API DBaPlay, l'extension Audio extrait le nom du fichier audio associé au descripteur fourni par DB2 et le transmet au programme de lecture audio. Le paramètre NULL indique que le programme de lecture audio défini par défaut sur le poste de l'utilisateur doit être utilisé. Le programme appelant attendra en revanche l'arrêt du programme audio avant de continuer.