4

I have problem retrieving a blob object from oracle DB to java API with jdbc. The problem is when I execute a Collable statement with a function from the db which return me a blob field this exception is thrown on the line :

tempBlob = (oracle.sql.BLOB)cstmt.getObject(1);

with this error message :

java.lang.ClassCastException: oracle.sql.BLOB cannot be cast to oracle.sql.BLOB. 

The object which I get from the DB is a instance of oracle.sql.BLOB. The tempBlob variable is a object oracle.sql.BLOB. Where is the problem?

1
  • 4
    Could be a classloader issue. Commented Jul 10, 2012 at 10:26

4 Answers 4

4

Two oracle jar files may be in your classpath. Please remove one jar and deploy again.

0
2

Sometime one JAR is in the application classpath and another is in the application server classpath (eg.: in Tomcat $CATALINA_HOME/lib)

0

Dont Cast again like:

BLOB tempBlob = (oracle.sql.BLOB)cstmt.getObject(1);

Solution :

OutputStream outstrm =(rs.getBlob(1)).setBinaryStream(1L); 
0

I got this error while generating a jasper report.

I replaced the class=oracle.jdbc.OracleBlob with class=java.sql.Blob in the jrxml file of that report. It worked for me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.