I suspect you have a serious versioning error in your driver--for some
reason, the native portion of the driver is expecting to set a field
"numBytesRead", but that field isn't in the Java code. Make sure the right
DB2 native code is on the Tomcat native library path (which usually means
check the PATH environment variable when launching Tomcat).
Ted Neward
{.NET || Java} Course Author & Instructor, DevelopMentor
(http://www.develop.com)
http://www.javageeks.com/tneward
http://www.clrgeeks.com/tneward
----- Original Message -----
From: "Sampige, Srinivas" <[EMAIL PROTECTED]>
To: "TomcatUser (E-mail)" <[EMAIL PROTECTED]>
Sent: Thursday, April 11, 2002 4:43 PM
Subject: Class.forName() crashing Tomcat4.0
> Hi
>
> Iam using Tomcat4.0 on Win2K . My web appliation that was
connecting
> to DB2 was working fine on Tomcat3.2. I am using JDK1.3.1 to compile my
> application. But when I port the application to run under Tomcat4.0 the
> section of my code that loads the DB2 driver fails and causes Tomcat4.0 to
> crash. From the stack trace I identified that the code is failing at line
79
> of my class and that line is where I am loading the driver by calling
> Class.forName(). Here is the code snippet followed by the stack trace -
>
> Code Snippet-
> -------------------------------------------------------
> String driverClass = "COM.ibm.db2.jdbc.app.DB2Driver";
> Class.forName(driverClass);
> con =
> DriverManager.getConnection("jdbc:db2:DB2DT10","idb4459","dbusr55");
> //--------------------SECTION FOR TOMCAT -----------------
> ------------------------------------------------------
>
> Stack Trace :
> java.lang.NoSuchFieldError: numBytesRead
> at COM.ibm.db2.jdbc.app.DB2Driver.SQLAllocEnv(Native Method)
> at COM.ibm.db2.jdbc.app.DB2Driver.(DB2Driver.java:234)
> at COM.ibm.db2.jdbc.app.DB2Driver.(DB2Driver.java:119)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:120)
> at
>
com.boeing.pron.beans.PronCommunicator.sendRequest(PronCommunicator.java:79)
> at
> com.boeing.pron.beans.PronCommunicator.ping(PronCommunicator.java:365)
> at
>
com.boeing.pron.servlets.PingServlet.handleApplicationEvent(PingServlet.java
> :36)
> at com.boeing.pron.servlets.PronServlet.service(PronServlet.java:88)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:1264)
> at
>
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java
> :439)
> at
>
org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:216)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:1145)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:1264)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:247)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:193)
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:243)
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:215)
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
>
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
> .java:472)
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
> at
>
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
> 46)
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2366)
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
> )
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :163)
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
>
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
> 1005)
> at
>
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1098
> )
> at java.lang.Thread.run(Thread.java:484)
>
>
> thanks
> Srinivas
>
> --
> To unsubscribe: <mailto:[EMAIL PROTECTED]>
> For additional commands: <mailto:[EMAIL PROTECTED]>
> Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
--
To unsubscribe: <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>