Create Table image_lob (t_id varchar2 (5), t_image BLOB );
Create or replace directory images as 'e: \ image ';
Select * From image_lob;
Create or replace procedure ima_insert (TID varchar2, filename varchar2, v_path varchar2)
F_lob bfile; -- file type
B _lob blob;
V_ SQL varchar2 (4000 );
Begin
-- V_path: = ''d: \ temp \ PIC ''';
V_ SQL: = 'create or replace directory images_bak as '| v_path; -- the path must be case sensitive. Oracle is sensitive to this.
Dbms_output.put_line (v_ SQL );
Execute immediate v_ SQL;
Insert into image_lob (t_id, t_image) values (TID, empty_blob () return t_image into B _lob;
-- Insert an empty blob.
F_lob: = bfilename ('images _ Bak', filename );
-- Get files in the specified directory
Dbms_lob.fileopen (f_lob, dbms_lob.file_readonly );
-- Open a file in read-only mode
Dbms_lob.loadfromfile (B _lob, f_lob, dbms_lob.getlength (f_lob ));
-- Transfer object
Dbms_lob.fileclose (f_lob );
-- Close the original file
Commit;
End;
Declare
Begin
Ima_insert('2', '1.jpg ', ''e: \ image '''); -- Here are three'
End;