base de données, et vous avez besoin d'un moyen d'effectuer un chargement initial dans la base de données.
Le chargement de LOB binaires est un peu plus simple que le chargement de LOB textuels.
Créez une séquence pour l'identifiant unique de votre tableau d'images, plus le tableau lui-même :
créer la séquence img_seq ;
créer une image de table
(
img_num number,
img_nm varchar2(100),
img_blb blob,
ins_ts timestamp
);
Ensuite, exécutez un bloc anonyme pour charger l'image SCREEN CAPTURE.BMP dans votre table de base de données :
declare
src_blb bfile ; /* pointe vers le BLOB source sur le système de fichiers */
dst_blb blob ; /* BLOB destination dans la table */
src_img_nm varchar2(100) :='Screen Capture.bmp';
src_offset integer :=1; /* où commencer dans le BLOB source */
dst_offset integer :=1; /* où commencer dans le BLOB cible */
begin
src_blb :=bfilename('LOB_SRC',src_img_nm);
insérer dans l'image (img_num, img_nm, img_blb, ins_ts)
values(img_seq.nextval, src_img_nm, empty_blob(), systimestamp)
renvoyant img_blb dans dst_blb ;
dbms_lob.open(src_blb, dbms_lob.lob_readonly);
dbms_lob.loadblobfromfile
(
dest_lob => dst_blb,
src_bfile => src_blb,
amount => dbms_lob.lobmaxsize,
dest_offset => dst_offset,
src_offset => src_offset
);
dbms_lob.close(src_blb);
commit;
dbms_output.put_line('Wrote BLOB to table:' || src_img_nm);
end;
Après avoir exécuté ce bloc, l'image sera chargée dans le blob et vous pourrez vérifier l'enregistrement avec la commande suivante :
sélectionnez img_num, img_nm, ins_ts, length(img_blb) à partir de l'image ;
-
Comment mettre à jour les tables liées dans Access 2016 après le déplacement de la base de données principale vers un nouvel emplacement
-
Comment générer un script à partir d'un diagramme dans MySQL Workbench
-
Composants internes de SQL Server :plan de mise en cache Pt. II – Plans de recompilation
-
Meilleures approches pour les totaux cumulés groupés