Tuesday, April 16, 2013

Store Images/Docs/Files into Oracle Database.



 Steps To Store Images/Docs/Files into Oracle 10g or above versions:


  1. Connect system user
  2. Create user i,e (Create user shabbir identified by shabbir;)
  3. Grant to user i,e (grant connect, resource, imp_full_database, exp_full_database to shabbir;)
  4. grant create any directory to shabbir;
  5.  grant create any library to shabbir;
  6. Connect to user i,e (Connect shabbir/shabbir@orcl;)


      7. CREATE TABLE my_docs (

       id NUMBER(10) NOT NULL,
name VARCHAR2(200) NOT NULL,
doc BLOB NOT NULL
)

      8.  ALTER TABLE my_docs ADD (
     CONSTRAINT my_docs_pk PRIMARY KEY (id)
);
 

9. CREATE SEQUENCE my_docs_seq;

     10.CREATE OR REPLACE DIRECTORY documents AS 'C:\work';

     11. CREATE OR REPLACE PROCEDURE load_file_to_my_docs (p_file_name IN   my_docs.name%TYPE) AS
      v_bfile BFILE;
v_blob BLOB;
BEGIN
INSERT INTO my_docs (id, name, doc)
VALUES (my_docs_seq.NEXTVAL, p_file_name, empty_blob())
RETURN doc INTO v_blob;
v_bfile := BFILENAME('DOCUMENTS', p_file_name);
Dbms_Lob.Fileopen(v_bfile, Dbms_Lob.File_Readonly);
Dbms_Lob.Loadfromfile(v_blob, v_bfile, Dbms_Lob.Getlength(v_bfile));
Dbms_Lob.Fileclose(v_bfile);
COMMIT;
END
;
/
 
12. Note:  

CREATE A FOLDER NAMED WORK IN C DRIVE OF ORACLE SERVER MACHINE & PUT THE IMAGE FILES(APPL_FORM.PDF,CIMG1860.JPG)

13. Execute The Procedure By Following Commands.

 EXECUTE THE PROCEDURE load_file_to_my_docs.
 EXEC load_file_to_my_docs('APPL_FORM.PDF');
EXEC load_file_to_my_docs('CIMG1860.JPG');
EXEC load_file_to_my_docs('a.JPG');
EXEC load_file_to_my_docs('b.JPG');
EXEC load_file_to_my_docs('c.JPG');
EXEC load_file_to_my_docs('d.JPG');
EXEC load_file_to_my_docs('e.JPG');
EXEC load_file_to_my_docs('f.JPG');
EXEC load_file_to_my_docs('g.JPG');
EXEC load_file_to_my_docs('h.JPG');
EXEC load_file_to_my_docs('CIMG1860.JPG');

COMMIT;

No comments:

Post a Comment

Thank You For Comment