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.


> -----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 =
ResourceBundle.getBundle("mimes");
>                               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]

Reply via email to