BLOB Again !

  • From: Hamid Alavi <hamid.alavi@xxxxxxxxxxx>
  • To: "'Oracle-L (E-mail)" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 7 Jun 2004 11:40:43 -0500

All,

I have still some question regarding BLOB objects if you don't mind to
answer with some real experience:

I have a table with ID number & Content BLOB which this table will populate
by a calling store procedure with the application, the application call this
store procedure and send 5 to 40 Meg files thru ODBC connection to the
database, so My store procedure will have One Input parameter as BLOB then
genereare an ID and store the ID & BLOB into a table, but my question is How
do I have to control the other parameters like:
Buffer, Amount & Position as the BLOB size passing thru the application is
not always the same size:

This is the Store Procedure which I wrote :
If you have any idea please let me know Appreciate:

My question is how to control the buffer & amount & position??


CREATE OR REPLACE procedure s_insert_blob(file_blob IN BLOB,batch_file_id
OUT FILE_BLOB_temp.BATCH_FILE_ID%type)
as

lob_loc           BLOB;
v_curr_val        integer;
buffer    varchar2(32767);
amount            binary_integer :=32767;
position          integer:=1;
I                 integer;


BEGIN


INSERT INTO FILE_BLOB_temp(batch_file_id,file_contenet)
values(seq_batch_file_id.nextval,empty_blob());

commit;

select seq_batch_file_id.currval  into v_curr_val from dual;

select file_content into lob_loc from file_blob_temp 
where batch_file_id = v_curr_val for update;

for i in 1 ..3 loop
DBMS_LOB.WRITE (lob_loc,amount,position,buffer);
position := position + amount;
end loop;

EXCEPTION
WHEN OTHERS THEN
         DBMS_OUTPUT.PUT_LINE('Operation failed');
         

END;
/


Hamid Alavi

Office           :  818-737-0526
Cell phone  :  818-416-5095

----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts:

  • » BLOB Again !