Christophe SEPCHAT - Consultant Indépendant : Devops, Modernisation, Organisation, Direction de projets |
Lecture, Création d’image dans une table SQL en RPGLE
Trucs & Astuces - AS/400, iseries, System i, IBM i, ....
Il est tout a fait possible de stocker une image (JPEG, BMP, ...) dans une table SQL.
Grace au type de données BLOB, le system i peut stocker et restituer ce type de fichier !
Dans un premier temps, il faut creer une table. L'exemple suivant créer une table avec 2 champ. Un identifiant, et un champ de type BLOB limité à 200 k(la taille maximum de celui ci peut être défini à 2Mo)
Remarque : En fait, il est possible de stocker tout type de fichier dans ce champ. (pdf, doc, xls, ......)
CREATE TABLE HOM_PHOTO
(NUMHOM CHAR ( 7) NOT NULL,
PICHOM BLOB(200 K) ,
PRIMARY KEY (NUMHOM))
Le BLOB étant un champ de taille variable, celui ci aura la taille de l'image qu'il contient.
** Le programme suivant indique comment insérer dans la table HOM_PHOTO
** l'image contenue dans le répertoire CSE de l'ISF.
D NUM s 7
D pic s SQLTYPE(BLOB_FILE)
D Out s SQLTYPE(BLOB_FILE)
C Time WNum 12 0
C Time WNum 12 0
C Move Wnum Num
C Eval pic_fo = SQFRD
C Eval pic_name = '/home/CSE/logo_cf.jpg'
C Eval pic_nl = %len(%trimr(pic_name))
C/EXEC SQL
C+ INSERT INTO HOM_PHOTO VALUES(:NUM, :pic)
C/END-EXEC
** Puis, comment créer un fichier image dans l'IFS à partir de l'enregistrement contenu dans la table.HOM_PHOTO
** La variable out_fo peut contenir plusieurs valeurs :
** SQFRD (Lecture),
** ** SQFCRT (Création avec message d'erreur si le fichier existe déjà),
** SQFOVR (Création avec remplacement si le fichier existe déjà).
C Eval out_fo = SQFOVR
C Eval out_name = '/home/CSE/' + NUM +'.jpg'
C Eval out_nl = %len(%trimr(out_name))
C/EXEC SQL
C+ Select pichom
C+ Into :out
C+ From HOM_PHOTO
C+ Where NUMHOM = :NUM
C/END-EXEC
Cet article vous a été utile, n'hésitez pas à le partager.
Top Articles
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_mostread/helper.php on line 79
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_mostread/helper.php on line 79
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_mostread/helper.php on line 79
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_mostread/helper.php on line 79
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_mostread/helper.php on line 79
Derniers Ajouts
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_latestnews/helper.php on line 109
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_latestnews/helper.php on line 109
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_latestnews/helper.php on line 109
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_latestnews/helper.php on line 109
Warning: Creating default object from empty value in /htdocs/public/c/modules/mod_latestnews/helper.php on line 109