thanks yes, but the problem is you have to create a directory and this is very annoying. I think you talk about this l_bfile := bfilename( 'MY_FILES', 'f.fmb' ); -- you have to create my_files directory object dbms_lob.fileopen( l_bfile ); dbms_lob.loadfromfile( l_blob, l_bfile, dbms_lob.getlength( l_bfile ) ); dbms_lob.fileclose( l_bfile ); If there is a way to avoid creating directories, and you know it this will be usefull to me. ----- Original Message ----- From: "Garry Gillies" <g.gillies@xxxxxxxxxx> To: <oracle-l@xxxxxxxxxxxxx> Sent: Thursday, February 26, 2004 12:01 PM Subject: Re: Java to write a blob to disk, does any one have the java to read a blob from disk > Your Java example is used to get data from PL/SQL to disk. > If you MUST use java to go the other way, I cannot help. > If you want to get from a disk file to a PL/SQL blob there is > no need for java - use BFILE. > > Garry Gillies > Database Administrator > Business Systems > Weir Pumps Ltd > 149 Newlands Road, Cathcart, Glasgow, G44 4EX > T: +44 0141 308 3982 > F: +44 0141 633 1147 > E: g.gillies@xxxxxxxxxxxxx > > > > "Juan Cachito > Reyes Pacheco" To: <oracle-l@xxxxxxxxxxxxx> > <jreyes@dazasoftwa cc: > re.com> Subject: Java to write a blob to disk, does any one have > Sent by: the java to read a blob from disk > oracle-l-bounce@fr > eelists.org > > > 26/02/04 15:38 > Please respond to > oracle-l > > > > > > > From Mark A. Williams from Indianapolis, IN USA > Here is the script in java to save a blob to disk (works perfectly) > > Adjust for your environment and line wrapping may need to be undone... > > connect / as sysdba; > > grant javauserpriv to scott; > > begin > dbms_java.grant_permission('SCOTT', > 'java.io.FilePermission','c:\temp\blob.txt', 'write'); > end; > / > > connect scott/tiger; > > create or replace java source named "exportBLOB" as > import java.lang.*; > import java.io.*; > import java.sql.*; > import oracle.sql.*; > public class exportBLOB > { > public static void do_export(BLOB p_blob, String p_file) throws Exception > { > // create file output stream > File l_file = new File(p_file); > FileOutputStream l_out = new FileOutputStream(l_file); > > // get an input stream from the blob > InputStream l_in = p_blob.getBinaryStream(); > > // get buffer size from blob and use this to create buffer for stream > int l_size = p_blob.getBufferSize(); > byte[] l_buffer = new byte[l_size]; > int l_length = -1; > > // write the blob data to the output stream > while ((l_length = l_in.read(l_buffer)) != -1) > { > l_out.write(l_buffer, 0, l_length); > l_out.flush(); > } > > // close the streams > l_in.close(); > l_out.close(); > } > }; > / > > -- the requisite plsql wrapper > create or replace procedure exportBLOB (p_blob in blob, p_file in varchar2) > as > language java name 'exportBLOB.do_export(oracle.sql.BLOB, > java.lang.String)'; > / > > -- a small test of the above > declare > v_blob blob; > v_raw raw(32); > v_len number; > begin > -- create a raw to use in test > v_raw := utl_raw.cast_to_raw('Oracle!'); > v_len := utl_raw.length(v_raw); > > -- create a temporary lob to test > dbms_lob.createtemporary(v_blob, true); > dbms_lob.write(v_blob, v_len, 1, v_raw); > > -- export it > exportBLOB (v_blob, 'c:\temp\blob.txt'); > end; > / > > > ---------------------------------------------------------------- > 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 > ----------------------------------------------------------------- > > > > > > > CONFIDENTIAL: > > The information contained in this email (including any attachments) > is confidential, subject to copyright and for the use of the > intended recipient only. If you are not the intended recipient > please delete this message after notifying the sender. Unauthorised > retention, alteration or distribution of this email is forbidden > and may be actionable. > > Attachments are opened at your own risk and you are advised to scan > incoming email for viruses before opening any attached files. We > give no guarantee that any communication is virus-free and accept > no responsibility for virus contamination or other system loss or > damage of any kind. > ---------------------------------------------------------------- > 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 > ----------------------------------------------------------------- ---------------------------------------------------------------- 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 -----------------------------------------------------------------