How to convert BlobDomain to Blob ?
Hi all!
I have created row in VO with field of BlobDomain type according to "File Upload and Download" in Developer guide. I want to save this row in database now.
I created CallableStatement and tried to set values in the insert query.
This code works:
callableStatement.setBlob(2,BLOB.empty_lob);
But I need to convert BlobDomain to Blob:
Blob = myBlob ----?????------- (BlobDomain)row.getAttribute("FileData")
callableStatement.setBlob(2, myBlob );
Could you help me?
Thanks in advance.
Edited by: Bunigin on 03.06.2009 7:43
#edit: found a workaround/solution. #
statement.setBlob has an override method that accepts an InputStream.
So get rid of the BlobDomain alltogether and pass the UploadedFile's InputStream directly into your CallableStatement as outlined below.
This works in my application.
Inside your backing bean in the valueChangeListener for the InputFile component on the page...
UploadedFile file = (UploadedFile)valueChangeEvent.getNewValue();
InputStream fileData = getInputStream(file);
ApplicationModule am = BindingContext.getCurrent().getDefaultDataControl().getApplicationModule();
MyAppModuleImpl myAppModuleImpl = (MyAppModuleImpl)am;
myAppModuleImpl.myFunction(fileData);Inside the bean (used above).
private InputStream getInputStream(UploadedFile file) {
InputStream in = null;
try {
in = file.getInputStream();
} catch (IOException e) {
e.printStackTrace();
return in;
}Inside your Application Module's Impl class (MyAppModuleImpl above).
public void myFunction(InputStream pFileData) {
String insertDML = "{call my_pkg.my_pkg_function(?)}";
CallableStatement statement = getDBTransaction().createCallableStatement(insertDML, 1);
try {
statement.setBlob(1, pFileData);
statement.execute();
statement.close();
} catch (Exception ex) {
throw new JboException(ex);
}Regards,
Matthew.
Similar Messages
-
How to convert CLOB to BLOB with SQL Developer migration wizard?
Hi,
According to our requirement, we need to only migrate data from SQL Server 2008 to Oracle 11. I use the SQL Developer 3.0.04 migration wizard to do it.
I do migration from SQL Server (database name: SCDS41P2) to Oracle (User name: HCDS41P2).
My migration steps are as below: (I need to modify the target schema, so I add the steps 2) and step 3) )
1) Do migration by SQL Developer migration wizard;
2) Remove the Converted Database Objects node from migration project;
3) Re-do convert by SQL Developer migration wizard (contains changing the target schema);
When do step 1), the DBO_SCDS41P2 user is created automatically. CLOBTOBLOB_SQLDEVELOPER procedure is also created in this user.
I continued to run step 2) and step 3) with online mode. And find the table data which contains BLOB column can be moved into the target table. But from the Logging Page, I can't see the other detailed error info, so that I can't check which tables don't move data successfully.
Could you please tell me where the detail log file (e.g. contains every table's migration status) is if I use the online mode?
Additional, If I use offline mode to do step 3), I found the CLOB data can't be converted into BLOB automatically. Because in the load script (that is oracle_ctl.bat), only copy the source data to the CLOB column. After copy, it don't deal with the converting from CLOB to BLOB.
So could you please tell me how to convert CLOB to BLOB with offline mode?
Thanks so much.Hi,
For your first question about logging - after the migration there will be an entry in the right hand panel for the migration project. If you open this there are various fields that give information about the status of each part of the migration. Does this give you the information you need ?
For the second problem about offline moving blob data have a look at the SQL*Developer documentation -
Oracle® SQL Developer User’s Guide Release 3.0
in the section -
2.2.8.1.4 Populating the Destination Database Using the Data Files
which describes the problem and how to get round it.
Regards,
Mike
Edited by: mkirtley on Aug 12, 2011 10:49 AM -
How to convert varchar to BLOB in oracle 10g?
Hi all,
I have 2 columns A and B which are of varchar2(2000) dataype.
I would like to concatinate these 2 columns and convert them into BLOB in oracle 10g.
Any help is appreciated.
Regards,
Ravidon't use BLOB to store large text, use CLOB instead
anyway:
SQL> create table test
2 (txt varchar2(10)
3 ,other varchar2(10)
4 );
Table created.
SQL>
SQL> insert into test values ('some text', 'other text');
1 row created.
SQL>
SQL> create table test2
2 (col blob)
3 /
Table created.
SQL>
SQL> insert into test2
2 select utl_raw.cast_to_raw (txt||other)
3 from test
4 /
1 row created.
SQL> select *
2 from test2
3 /
SP2-0678: Column or attribute type can not be displayed by SQL*Plus
SQL>
SQL> select utl_raw.cast_to_varchar2(col)
2 from test2
3 /
UTL_RAW.CAST_TO_VARCHAR2(COL)
some textother text
SQL>
SQL> drop table test
2 /
Table dropped.
SQL> drop table test2
2 /
Table dropped. -
hi
tell me some thong how we can convert clob to blobYou can use my procedure
create or replace procedure CLOB2BLOB (p_clob in out nocopy clob, p_blob in out nocopy blob) is
-- transforming CLOB â BLOB
l_off number default 1;
l_amt number default 4096;
l_offWrite number default 1;
l_amtWrite number;
l_str varchar2(4096 char);
begin
begin
loop
dbms_lob.read ( p_clob, l_amt, l_off, l_str );
l_amtWrite := utl_raw.length ( utl_raw.cast_to_raw( l_str) );
dbms_lob.write( p_blob, l_amtWrite, l_offWrite,
utl_raw.cast_to_raw( l_str ) );
l_offWrite := l_offWrite + l_amtWrite;
l_off := l_off + l_amt;
l_amt := 4096;
end loop;
exception
when no_data_found then
NULL;
end;
end;
Best regards, Victor -
How to convert clobs to blobs?
What is the easiest way to go if I want to copy the content of a CLOB to a BLOB(Other than reading the contents of the CLOB out into a buffer and then apply UTL_RAW.CAST_TO_RAW)? How about from blobs to clobs?
nullHi,
create table myblob(x blob);
create table myblob1(x clob);
create or replace procedure blob_to_clob as
b_lob blob;
buffer VARCHAR2(32000);
g_length number;
begin
select x into b_lob from myblob;
g_length := dbms_lob.getlength(b_lob);
dbms_lob.read(b_lob,g_length,1,buffer);
insert into myblob1 values(buffer);
commit;
end;
null -
How to convert BLOB into a String
Hi,
I got a blob column from the database.
It contains one XML File.
How to convert it into String.
I need the code for how to convert the blob into String
Thanks in Advance.A blob would be a byte-array, which you can use in the String(byte[]) constructor
-
How to convert BLOB data into string format.
Hi,
I have problem while converting blob data into string format.
for example,
Select dbms_lob.substr(c.shape.Get_wkb(),4000,1) from geotable c
will get me the first 4000 byte of BLOB .
When i using SQL as i did above,the max length is 4000, but i can get 32K using plsql as below:
declare
my_var CLOB;
BEGIN
for x in (Select X from T)
loop
my_var:=dbms_lob.substr(x.X,32767,1)
end loop
return my_var;
I comfortably convert 32k BLOB field to string.
My problem is how to convert blob to varchar having size more than 32K.
Please help me to resolve this,
Thanx in advance for the support,
NileshNilesh,
. . . .The result of get_wkb() will not be human readable (all values are encoded into some binary format).
SELECT utl_raw.cast_to_varchar2(tbl.geometry.get_wkt()) from FeatureTable tbl;
-- resulting string:
☺AW(⌂özßHAA
Å\(÷. . . .You may also want to have a look at { dbms_lob | http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_lob.htm#i1015792 } "The DBMS_LOB package provides subprograms to operate on BLOBs, CLOBs, NCLOBs, BFILEs, and temporary LOBs."
Regards,
Noel -
Hi,
Can any one tell me how to convert a CLOB into BLOB? In Oracle 10g there is a function which is converttoblob(). But in Oracle 9i there is no function as such. If i am using Hextoraw() function still then its giving some pointer error. please let me know the solution.FUNCTION c2b( c IN CLOB ) RETURN BLOB
-- typecasts CLOB to BLOB (binary conversion)
IS
pos PLS_INTEGER := 1;
buffer RAW( 32767 );
res BLOB;
lob_len PLS_INTEGER := DBMS_LOB.getLength( c );
BEGIN
DBMS_LOB.createTemporary( res, TRUE );
DBMS_LOB.OPEN( res, DBMS_LOB.LOB_ReadWrite );
LOOP
buffer := UTL_RAW.cast_to_raw( DBMS_LOB.SUBSTR( c, 16000, pos ) );
IF UTL_RAW.LENGTH( buffer ) > 0 THEN
DBMS_LOB.writeAppend( res, UTL_RAW.LENGTH( buffer ), buffer );
END IF;
pos := pos + 16000;
EXIT WHEN pos > lob_len;
END LOOP;
RETURN res; -- res is OPEN here
END c2b; -
How to convert from varchar to blob ?
How to convert from varchar to blob ?
thanksHere is a small PL/SQL block that we have used to convert varchar2 to blob.
declare
cursor get_blob is
select blob_statement
from report
where report_id = 205
FOR UPDATE OF blob_statement;
v_loc blob;
v_raw_buffer raw(32767);
v_amount binary_integer := 32767;
v_offset binary_integer := 1;
v_buffer VARCHAR2(32767);
begin
open get_blob;
fetch get_blob into v_loc;
close get_blob;
v_buffer := 'Sample text';
v_raw_buffer := utl_raw.cast_to_raw(v_buffer);
v_amount := utl_raw.length(v_raw_buffer);
dbms_lob.write(v_loc, v_amount, v_offset, v_raw_buffer);
commit;
end; -
Hi,
We have employee photos(JPG Format) stored in Content server. And now we want to print the photos in smartforms. For this I had written the below code to read the photo from content server in binary format as below.
REPORT ZTEST1.
PARAMETERS P_PERNR TYPE PERNR_D.
DATA: PS_CONNECT_INFO TYPE TOAV0,
IT_BINARY TYPE TABLE OF SDOKCNTBIN.
CALL FUNCTION 'HR_IMAGE_EXISTS'
EXPORTING
P_PERNR = P_PERNR
* P_TCLAS = 'A'
* P_BEGDA = '18000101'
* P_ENDDA = '99991231'
IMPORTING
* P_EXISTS =
P_CONNECT_INFO = PS_CONNECT_INFO
* EXCEPTIONS
* ERROR_CONNECTIONTABLE = 1
* OTHERS = 2
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
IF PS_CONNECT_INFO IS NOT INITIAL.
CALL FUNCTION 'SCMS_DOC_READ'
EXPORTING
STOR_CAT = SPACE
CREP_ID = PS_CONNECT_INFO-ARCHIV_ID
DOC_ID = PS_CONNECT_INFO-ARC_DOC_ID
* PHIO_ID =
* SIGNATURE = 'X'
* SECURITY = ' '
* NO_CACHE = ' '
* RAW_MODE = ' '
* IMPORTING
* FROM_CACHE =
* CREA_TIME =
* CREA_DATE =
* CHNG_TIME =
* CHNG_DATE =
* STATUS =
* DOC_PROT =
TABLES
* ACCESS_INFO =
* CONTENT_TXT =
CONTENT_BIN = IT_BINARY
* EXCEPTIONS
* BAD_STORAGE_TYPE = 1
* BAD_REQUEST = 2
* UNAUTHORIZED = 3
* COMP_NOT_FOUND = 4
* NOT_FOUND = 5
* FORBIDDEN = 6
* CONFLICT = 7
* INTERNAL_SERVER_ERROR = 8
* ERROR_HTTP = 9
* ERROR_SIGNATURE = 10
* ERROR_CONFIG = 11
* ERROR_FORMAT = 12
* ERROR_PARAMETER = 13
* ERROR = 14
* OTHERS = 15
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDIF
Now the issue is I want to convert that binary data to bitmap image and upload the same in to SE78. So that I can use that BMP image from SE78 in my smartforms.
I had used the class CL_IGS_IMAGE_CONVERTER to covert the image into bmp but it is giving error that error in IMAGE DATA CORRUPT & Error Code 3. The conversion code used is as below.
******* CONVERT THE JPG IMAGE INTO BMP PHOTO. **********
DATA: L_IGS_IMGCONV TYPE REF TO CL_IGS_IMAGE_CONVERTER,
L_IMG_BLOB TYPE W3MIMETABTYPE,
L_IMG_SIZE TYPE W3PARAM-CONT_LEN,
L_IMG_TYPE TYPE W3PARAM-CONT_TYPE,
L_IMG_SUBTYPE TYPE W3PARAM-CONT_TYPE,
L_IMG_URL TYPE W3URL,
L_ERR_CODE TYPE I,
L_ERR_TEXT TYPE STRING,
P_DEST TYPE CHAR32 VALUE 'IGS_RFC_DEST'.
DATA: G_IMG_BLOB TYPE W3MIMETABTYPE,
G_IMG_TYPE TYPE W3PARAM-CONT_TYPE,
G_IMG_SIZE TYPE W3PARAM-CONT_LEN.
IF NOT IT_BINARY[] IS INITIAL.
G_IMG_BLOB[] = IT_BINARY.
CREATE OBJECT L_IGS_IMGCONV
EXPORTING
DESTINATION = P_DEST.
CALL METHOD L_IGS_IMGCONV->SET_IMAGE
EXPORTING
BLOB = G_IMG_BLOB
BLOB_SIZE = G_IMG_SIZE.
CASE PS_CONNECT_INFO-RESERVE.
WHEN 'TIF'.
G_IMG_TYPE = 'image/tiff'.
WHEN 'JPG'.
G_IMG_TYPE = 'image/jpeg'.
WHEN 'PNG'.
G_IMG_TYPE = 'image/png'.
WHEN 'GIF'.
G_IMG_TYPE = 'image/gif'.
WHEN 'BMP'.
G_IMG_TYPE = 'image/x-ms-bmp'.
WHEN OTHERS.
EXIT.
ENDCASE.
L_IGS_IMGCONV->INPUT = G_IMG_TYPE.
L_IGS_IMGCONV->OUTPUT = 'image/x-ms-bmp'.
* PERFORM GET_SIZE USING PICTURE_CONTAINER
* L_IGS_IMGCONV->WIDTH
* L_IGS_IMGCONV->HEIGHT.
CALL METHOD L_IGS_IMGCONV->EXECUTE
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC IS INITIAL.
CALL METHOD L_IGS_IMGCONV->GET_IMAGE
IMPORTING
BLOB = L_IMG_BLOB
BLOB_SIZE = L_IMG_SIZE
BLOB_TYPE = L_IMG_TYPE.
SPLIT L_IMG_TYPE AT '/' INTO L_IMG_TYPE L_IMG_SUBTYPE.
ELSE.
CALL METHOD L_IGS_IMGCONV->GET_ERROR
IMPORTING
NUMBER = L_ERR_CODE
MESSAGE = L_ERR_TEXT.
BREAK-POINT.
ENDIF.
ENDIF.
ENDIF.
So could you please some one help me how to convert JPEG Photo to BMP programatically.
Regards,
Mayur.johnandersonpalmdesert wrote:
My printer is requesting a vector file.
Jpeg File format does not support vectors. Photoshop has limited vector support and tools. Photoshop can not save vector file formats like SVG. What File type does your printer want?
Adobe Illustrator is Adobe vector application. -
How to Convert Report into Excel Sheet when Sending Mail.
Dear Friends,
i want to send mail to HOD of Product with an Excel Sheet .
i want to send Pending Issue details to HOD in Excel Sheet attachment .
here i have pending issue report now i need to send it in Excel Sheet attachment .
i have table where i have manage Product ID and HOD OF PRODUCT.
CREATE TABLE "MAP_USER_PRODUCT_DTL"
( "ID" NUMBER NOT NULL ENABLE,
"PRODUCT_ID"NUMBER,
"USER_ID" VARCHAR2(5) NOT NULL ENABLE,
"HOD_PROD" VARCHAR2(100)========================================Value is Y OR N IF HOD then Y else N
CONSTRAINT "MAP_USER_PRODUCT_DTL_PK" PRIMARY KEY ("ID") ENABLE
/i have one more table where all complete issue detail insert.
CREATE TABLE "CRM_ISSUE_PROBLEM"
( "ID" NUMBER,
"SUBJECT" VARCHAR2(255) NOT NULL ENABLE,
"CLIENT_ID" NUMBER,
"ASSIGNED_TO_ID" VARCHAR2(100),
"ASSIGNED_ON" DATE,
"DESCRIPTION" VARCHAR2(4000),
"PRODUCT_ID" NUMBER NOT NULL ENABLE,
"STATUS_ID" NUMBER NOT NULL ENABLE,
CONSTRAINT "CRM_ISSUE_PROBLEM_PK" PRIMARY KEY ("ID") ENABLE
Here STATUS_ID is Like Pending ISsue,Open Issue and Close Issue .i want to send mail to HOD with Pending Issue Report convert into Excel Sheet and send to HOD?
How can i do this.
Thanks
Edited by: Vedant on Oct 12, 2011 12:36 AM
Edited by: Vedant on Oct 12, 2011 2:22 AMHello Vedant,
Would it suffice if you send a CSV file?
If yes, then see following code.. run the code under APEX > Home > SQL Workshop > SQL Commands
DECLARE
ln_id NUMBER;
lc_clob CLOB;
lb_blob BLOB;
li_in PLS_INTEGER := 1;
li_out PLS_INTEGER := 1;
li_lang PLS_INTEGER := 0;
li_warning PLS_INTEGER := 0;
lv_mail_rcpts VARCHAR2(2000) := '[email protected]';
lv_mail_from VARCHAR2(100) := '[email protected]';
lv_clmn_separator VARCHAR2(1) := ',';
BEGIN
-- Build file content as CLOB
-- Replace with your query
FOR i IN (select object_id A, object_name B, object_type C, status D, temporary E, generated F, secondary G,namespace H from user_objects where rownum < 10)
LOOP
IF lc_clob IS NULL THEN
lc_clob := i.A||lv_clmn_separator||i.B||lv_clmn_separator||i.C||lv_clmn_separator||i.D||lv_clmn_separator||i.E||lv_clmn_separator||i.F||lv_clmn_separator||i.G||lv_clmn_separator||i.H;
ELSE
lc_clob := lc_clob||CHR(10)||i.A||lv_clmn_separator||i.B||lv_clmn_separator||i.C||lv_clmn_separator||i.D||lv_clmn_separator||i.E||lv_clmn_separator||i.F||lv_clmn_separator||i.G||lv_clmn_separator||i.H;
END IF;
END LOOP;
-- Convert CLOB to BLOB
DBMS_LOB.CREATETEMPORARY(lb_blob,TRUE);
DBMS_LOB.convertToBlob(lb_blob,lc_clob,DBMS_LOB.LOBMAXSIZE,li_in,li_out,DBMS_LOB.DEFAULT_CSID,li_lang,li_warning);
-- Send mail
ln_id:= APEX_MAIL.SEND(
p_to => lv_mail_rcpts,
p_from => lv_mail_from,
p_subj => 'Subject Goes here',
p_body => 'Body goes here'
-- add CSV file as attachment
APEX_MAIL.ADD_ATTACHMENT
p_mail_id => ln_id,
p_attachment => lb_blob,
p_filename => 'filename.csv',
p_mime_type => 'application/csv'
-- push mail queue
APEX_MAIL.PUSH_QUEUE;
-- empty temporary space
DBMS_LOB.FREETEMPORARY ( lob_loc => lb_blob);
COMMIT;
END;Regards,
Hari -
How to call CLOB to BLOB conversion function within stored procedure?
I have a tiny APEX application from which I need to be able to print. I’ve used these two resources: (Is there an inexpensive APEX report printer for invoices/checks/statements? and http://download.oracle.com/docs/cd/E14373_01/appdev.32/e13363/up_dn_files.htm#CJAHDJDA)
I guess that in order to be able to download the RTF document stored in CLOB, I need to convert it into BLOB. I’ve found this function for this purpose on Oracle forums:
CREATE OR REPLACE FUNCTION c2b( c IN CLOB ) RETURN BLOB
-- typecasts CLOB to BLOB (binary conversion)
IS
pos PLS_INTEGER := 1;
buffer RAW( 32767 );
res BLOB;
lob_len PLS_INTEGER := DBMS_LOB.getLength( c );
BEGIN
DBMS_LOB.createTemporary( res, TRUE );
DBMS_LOB.OPEN( res, DBMS_LOB.LOB_ReadWrite );
LOOP
buffer := UTL_RAW.cast_to_raw( DBMS_LOB.SUBSTR( c, 16000, pos ) );
IF UTL_RAW.LENGTH( buffer ) > 0
THEN
DBMS_LOB.writeAppend( res, UTL_RAW.LENGTH( buffer ), buffer );
END IF;
pos := pos + 16000;
EXIT WHEN pos > lob_len;
END LOOP;
RETURN res; -- res is OPEN here
END c2b;And I am trying to use it in the modified download procedure that I also have found on Oracle forums:
CREATE OR REPLACE PROCEDURE DOWNLOAD_WO(v_id IN NUMBER)
AS
v_mime VARCHAR2(48);
v_length NUMBER;
v_file_name VARCHAR2(2000):= 'WO_Download.rtf';
lob_loc CLOB;
v_blob BLOB;
v_company jobs_vw.company%TYPE;
v_project jobs_vw.project%TYPE;
v_description jobs_vw.description%TYPE;
v_date_ jobs_vw.date_%TYPE;
v_job_no jobs_vw.job_no%TYPE;
v_apqwo jobs_vw.apqwo%TYPE;
-- v_mime VARCHAR2(48) := 'application/msword';
BEGIN
SELECT mime_type, report, DBMS_LOB.GETLENGTH(report)
INTO v_mime,lob_loc,v_length
FROM report_layouts
WHERE rl_id = 22332925279634283;
-- JOB_VW record:
SELECT job_no
,date_
,description
,apqwo
,project
,company
INTO v_job_no
,v_date_
,v_description
,v_apqwo
,v_project
,v_company
FROM jobs_vw
WHERE id = 214;
-- Replace holders with actual values:
lob_loc := REPLACE(lob_loc, '#COMPANY#', v_company);
lob_loc := REPLACE(lob_loc, '#PROJECT#', v_project);
lob_loc := REPLACE(lob_loc, '#DESCRIPTION#', v_description);
lob_loc := REPLACE(lob_loc, '#DATE_#', TO_CHAR(v_date_, 'DD/MM/YYYY'));
lob_loc := REPLACE(lob_loc, '#JOB_NO#', v_job_no);
lob_loc := REPLACE(lob_loc, '#APQWO#', v_apqwo);
-- set up HTTP header
-- use an NVL around the mime type and
-- if it is a null set it to application/octect
-- application/octect may launch a download window from windows
owa_util.mime_header( nvl(v_mime,'application/octet'), FALSE );
-- set the size so the browser knows how much to download
htp.p('Content-length: ' || v_length);
-- the filename will be used by the browser if the users does a save as
htp.p('Content-Disposition: attachment; filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1),chr(10),null),chr(13),null)|| '"');
-- close the headers
owa_util.http_header_close;
-- download the BLOB
-- wpg_docload.download_file( Lob_loc );
v_blob := c2b(lob_loc);
wpg_docload.download_file( v_blob );
end DOWNLOAD_WO;
/Unfortunately when I try to compile the download_wo stored procedure I am getting this error:
Error at line 64: PL/SQL: Statement ignoredThe 64th line is:
v_blob := c2b(lob_loc);How should I correctly call c2b within download_wo? Any advice is greatly appreciated.
Thank you for your time.
DanielHello there,
Well, its invalid :(
Object C2B is Invalid. I didn't know since when I run the create ... function, I only get this feedback:
Statement processed.
0.19 secondsI am investigating.
Daniel -
How to convert oracle DDL to mysql DDL
Dear friends,
I have Oracle 9.2.0 DDL, (not complexity, no BLOB or CLOB data type, but have foreign key constrains), I want to convert it to mysql DDL, so I can create mysql database using this DDL. could someone give a hint of how to convert it? thank you very much in advance!
besides, could some one tell me if I can get oracle 9.2.0 DDL through JDBC? how?
thanks again!Hi Sammy,
I'm not sure what you're looking for when you say you'd like to retrieve Oracle DDL. Would you like to know the table definitions (e.g., table names with associated column names and types)? I think java.sql.DatabaseMetaData might be able to help you out if that's what you mean.
I usually just go into SQL*Plus and ask Oracle to describe the tables I need. But perhaps I'm not understanding you.
Yes, I think it's best combine XDoclet and Hibernate. I've been adding XDoclet javadoc tags to my Java classes. There's an Ant task that generates the *.hbm.xml descriptor files for all my classes. There's another Ant task that will take those descriptors and put out the DLL for you. You can change from Oracle to MySQL just by changing the hibernate.properties file.
I agree - Hibernate is terrific stuff. I hope it can help you. Sincerely, MOD -
Need help!: How to covert Excel into BLOB and pass into procedure?
Hi,
I am writing a program in which I am uploading file from front-end and passing that file into Oracle procedure in BLOB format.
Can someone help me ,that **how to convert Excel sheet into BLOB and then how we can pass that BLOB object to procedure in oracle*.
Any help will greatly appreciated.
ThanksGuys,
I am able to convert FormFile into byutes using getFileData();
But when I am tryint oconvert into BLOB,it is dhoowing me the error.
Please find the complete details below.
I am trying to Upload one file using FormFile of Struts and I need to pass that Form File into one procedure having BLOB as aIn parameter. SO I need to convert that file into BLOB object
The code that I am trying is :
try{
BLOB blob= BLOB.getEmptyBLOB();
System.out.println("before");
blob.setBytes(theFile.getFileData());
System.out.println("after");
cs.setBlob(3, blob);
}catch(Exception e){System.out.println("in the BLOB "+e);}
After running the code,I am getting the following error
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at oracle.jdbc.driver.DatumBinder.bind(OraclePreparedStatement.java:15839)
at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2865)
at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2150)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3279)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3389)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4222)
at dms.bo.impl.LoadManagement.UploadMetadataDAOImpl$1.doInCallableStatement(UploadMetadataDAOImpl.java:38)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:953)
at dms.bo.impl.LoadManagement.UploadMetadataDAOImpl.getBlobString(UploadMetadataDAOImpl.java:28)
at dms.web.action.LoadManagement.UploadMetadataAction.perform(UploadMetadataAction.java:33)
at dms.web.action.common.BaseAction.execute(BaseAction.java:17)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619
So with -
I need to save image in database blob column, but as i get the blob from View Object, it return data type of blobdomain, can anyone tell me is it possible to convert a blobdomain to blob so that i can save it into my db. Can provide me some example code on using blob or blobdomain.
Dear Sir...
Are you using ADF UIX with JDeveloper 10.1.2? or what?
There is a number of other data types to deal with multimedia contents. These are
ORDSYS.ORDImage to deal with images
ORDSYS.ORDVideo to deal with video
ORDSYS.ORDAudio to deal with audio. you can use them with ADF UIX that provides upload and download capability for such fields.
hope this help
best regards
Maybe you are looking for
-
In an interactive report, after going to 5th list, can you come back to 2nd
Hi guys, I am having a simple doubt, can you clarify me. In an interactive report, after going to 5th list, can you come back to 2nd list? how?
-
Set off ofcustomer with vendor
Can any tell that the config step to be done for setting off the customer and vendor balances. Regs Bharat
-
Reversing jack-in-the-box icons that replace old excel file icons
Today I noticed that Excel file icons on my desktop have been replaced with a jack-in-the-box icon. It looks like this: This seems to happen only to Excel files last modified prior to 1993 (although I have not checked all files to determine if this
-
Hello my heros. I have enough knowllege of java programming skills that I can use to write real programs and also enough Oracle9i knowllege to talk to the server. My problem is how to connect from java application to an Oracle9i server. I found examp
-
Airport 6.1 does not support my Airport module (the second iteration), and tells me to download Airport Utility 5.6. I can not find it via the directed link from Airport utility 6.1 nor anywhere else on Apple's web site. It is also not on the App s