Thanks Micheal.

Actually, I did put the jar that contains the driver in $CATALINA_HOME/common/lib. So, 
I guess I'll just try what you recommended and if it works, then I think I'll switch 
to a different driver and test to see if this is a driver specific thing. Maybe no one 
tried that driver ever before.

Thanks,
Tarek Nabil

-----Original Message-----
From: Tam, Michael [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 12, 2003 9:18 PM
To: 'Tomcat Users List'
Subject: RE: JNDI DataSource


You didn't mention about your jdbc jar file in your post and maybe you
should check where did you put the jar file.  In addition, you may want to
try a simple jsp to use driver manager to obtain a connection to see if your
jdbc lib is loaded.

Cheers,
Michael

-----Original Message-----
From: Tarek M. Nabil [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 12, 2003 10:57 AM
To: Phillip Qin; Tomcat Users List
Subject: RE: JNDI DataSource


Hi Philip,

I checked, and the URL thing is driver specific. For the driver I'm using,
the format is "jdbc:as400:machineName" and that's what I'm using.

The strange thing is the error message "Cannot load JDBC driver class
'null'". Why does Tomcat see the dirver as null, although I have specified
it in the ResourceParams.

Thanks,
Tarek Nabil


-----Original Message-----
From: Phillip Qin [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 12, 2003 8:19 PM
To: 'Tomcat Users List'
Subject: RE: JNDI DataSource


Replace your url with fully qualified url, in Oracle I use
jdbc:oracle:thin:@myhost.myudomain.com:port:sid

-----Original Message-----
From: Tarek M. Nabil [mailto:[EMAIL PROTECTED] 
Sent: June 12, 2003 1:09 PM
To: 'Tomcat Users List' (E-mail)
Subject: JNDI DataSource

Hi,

I'm trying to setup a JDBC DataSource on Tomcat 4.1.24.

I performed the steps in the documentation:

1- Added this part to the GlobalNamingResources section of the server.xml

    <Resource name="jdbc/as400" scope="Shareable"
type="javax.sql.DataSource" auth="Container"/>
    <Resource name="UserDatabase" scope="Shareable"
type="org.apache.catalina.UserDatabase" auth="Container" description="User
database that can be updated and saved"/>
    <ResourceParams name="jdbc/as400">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>8</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:as400:AS400</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>access2k</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.ibm.as400.access.AS400JDBCDriver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>4</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>DBA</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</value>
      </parameter>
    </ResourceParams>

2- I added this to my web.xml

        <resource-ref>
                <description>
                    Resource reference to a factory for java.sql.Connection
                        instances that talk to an AS400 database
                </description>
                <res-ref-name>
                        jdbc/as400
                </res-ref-name>
                <res-type>
                        javax.sql.DataSource
                </res-type>
                <res-auth>
                        Container
                </res-auth>
        </resource-ref>

3- I put this in a JSP

<%@ page import="javax.naming.*, java.sql.*, javax.sql.*" %> 
<%
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)
  envCtx.lookup("jdbc/as400");

Connection conn = ds.getConnection();
conn.close();

%>


And Still, I get the following error when accessing the JSP

type Exception report

message 

description The server encountered an internal error () that prevented it
from fulfilling this request.

exception 

org.apache.jasper.JasperException: Cannot load JDBC driver class 'null'
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
54)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        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:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
        at java.lang.Thread.run(Thread.java:484)


root cause 

javax.servlet.ServletException: Cannot load JDBC driver class 'null'
        at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:536)
        at org.apache.jsp.test_jsp._jspService(test_jsp.java:61)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
10)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        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:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
        at java.lang.Thread.run(Thread.java:484)



----------------------------------------------------------------------------
----

Any help is appreciated.

Thanks,
Tarek M. Nabil

---------------------------------------------------------------------
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