You can determine the actual Class of 'result' by doing:
String className = result.getClass().getName();
HTH, Robert
Kumar Abhay-CAK203C wrote:
Still not working
I am using myBlob = ((OracleResultSet)result).getBLOB(1);
It is giving Class Cast Exception
Best Regards Abhay Kumar
-----Original Message-----
From: Summers, Bert W. [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 06, 2004 2:35 PM
To: Tomcat Users List
Subject: RE: [OT] getBlob() error in Tomcat
Unjar the classes12.jar file and look for it. There should be some xxxxResultSet class in there.
The jdbc class that come with Java do not implement the getBLOB method, hence the abstract violation. The Oracle driver in the case has the implemented method, of course you are now tied to Oracle in your code.
-----Original Message-----
From: Kumar Abhay-CAK203C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 06, 2004 12:15 PM
To: 'Tomcat Users List'
Subject: RE: [OT] getBlob() error in Tomcat
Importance: High
Thanks for the suggestions,
My question is how I can check that both the versions are same, I have classes12.jar in common/lib and that is set in system classpath. How to find the OracleResultSEt class to cast result?
Best Regards Abhay Kumar
-----Original Message-----
From: Mike Curwen [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 06, 2004 1:59 PM
To: 'Tomcat Users List'
Subject: RE: [OT] getBlob() error in Tomcat
The javadoc for that error suggests: "this error can only occur at run time if the definition of some class has incompatibly changed since the currently executing method was last compiled."
So is the version of classes12.jar that you used to compile the code, the exact same version that is being used to run it ?
As for casting......
OracleResultSetClass foo = (OracleResultSetClass)result;
obviously, you'd need to replace 'OracleResultSetClass' with the actual name of the class.
ResourceBundle.getBundle("mimes");-----Original Message----- From: Kumar Abhay-CAK203C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 06, 2004 1:43 PM To: 'Tomcat Users List' Subject: RE: [OT] getBlob() error in Tomcat Importance: High
I will appreciate you if you can tell me how ?
Best Regards Abhay Kumar
-----Original Message----- From: Summers, Bert W. [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 06, 2004 1:05 PM To: Tomcat Users List Subject: RE: [OT] getBlob() error in Tomcat
You need to cast the ResultSet to the Oracle specify ResultSet
-----Original Message----- From: Kumar Abhay-CAK203C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 06, 2004 11:01 AM To: Tomcat Users List Subject: [OT] getBlob() error in Tomcat Importance: High
Hi,
Any idea why this error is coming in runtime?
Servlet) - FileDisplayServlet.doPost()
java.lang.AbstractMethodError:
oracle.jdbc.driver.OracleResultSetImpl.getBlob(Ljava/lang/Stri
ng;)Ljava/sql/
Blob;
at
org.apache.commons.dbcp.DelegatingResultSet.getBlob(Delegating
ResultSet.java
:318)
at com.mot.iDEN.webapp.oes.servlet.FileDisplayServlet.readBlob(Fi
leDisplayServl
et.java:169)
I am trying to display a image that is stored in a BLOB field in Oracle. I am using connection pooling and classes12.jar
Servlet Code -------------------------------------------------------------- -------------- -------------------------------------------------------------- -------------- -------- private void readBlob ( HttpServletRequest request, HttpServletResponse response, long aFeatureId, String aFileName, String aUserId ) throws SQLException,IOException { Connection conn = null; ResultSet result = null; PreparedStatement prepStmt = null; java.io.InputStream in = null; java.sql.Blob myBlob = null; FileUploadFactory uploadFactory = new FileUploadFactory();
try
{
conn = config_.getEstimationConnection(false);
String sql = "";
sql =
" SELECT "+
" FILE_IMAGE "+
" FROM "+
" OES_FEATURE_DETAILS "+
" WHERE "+
" FEATURE_ID = "+aFeatureId;
log_.debug("SQL:==="+sql);
log_.debug("result=" + result);
prepStmt = conn.prepareStatement(sql);
result = prepStmt.executeQuery();
if (result != null && result.next())
{
//get the file ext
String strDocExt = "";
try
{
strDocExt =
uploadFactory.getFileType(aFileName, aUserId);
}
catch(Exception e)
{
log_.debug("Exception is"+e);
}
//get the file length
int intCountBytes = 0;
String strPrpValue = null;
//set the mimetype
ResourceBundle mimetype =
strPrpValue = mimetype.getString(strDocExt.toLowerCase()); log_.debug("Value=" + strPrpValue); if (strPrpValue != null) { response.setContentType(strPrpValue); response.setHeader("Content-Disposition", "inline; filename=" + aFileName); } myBlob = result.getBlob("FILE_IMAGE"); //get the inputStream in = myBlob.getBinaryStream(); /*Get the Output Stream*/ if (in != null) { generatePresentation(in, response); in.close(); } } } catch (SQLException sqle) { throw new SQLException("FileDisplayServlet.readBlob", "" + sqle.getErrorCode()); } catch (IOException io) { throw new IOException("FileDisplayServlet.readBlob"); } finally { try { if (result != null) { result.close(); } if (prepStmt != null) { prepStmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException sqle) { throw new SQLException("FileDisplayServlet.readBlob"); } } } -------------------------------------------------------------- -------------- -------------------------------------------------------------- -------------- ----
Best Regards Abhay Kumar
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]