Except that the driver works for connecting if I'm not utilizing a
connection pool, i.e., I am able to connect to the db and manipulate
data via DriverManager.getConnection(url, db, pwd).

The driver is located in CATALINA_HOME/commons/lib

Eric


On Thu, 7 Oct 2004 18:22:45 -0400, Phillip Qin
<[EMAIL PROTECTED]> wrote:
> No, you don't need that many params. I think your problem might be the
> driver. Where did you drop off your informix jdbc jar?
> 
> 
> -----Original Message-----
> From: Eric Wulff [mailto:[EMAIL PROTECTED]
> Sent: October 7, 2004 5:56 PM
> To: Tomcat Users List
> Subject: Re: connection pooling
> 
> Yes, I have added <Resource name=... >.  Now different errors are reported
> via stack trace as I posted in response to Atishay's suggestion that I add
> this.  I'll try adding your suggestions and see what happens.  Also, you
> suggest adding many parameters.  Are they necessary for simply making a
> connection?  If so, the tutorial I'm following, 'Tomcat Kick Start' left all
> your suggestions out.
> Including the <Resource> tag, but that seems critical for connection.
> 
> Eric
> 
> On Thu, 7 Oct 2004 17:14:27 -0400, Phillip Qin <[EMAIL PROTECTED]>
> wrote:
> > 1. web.xml: OK
> >
> > 2. context.xml on <context> of server.xml:
> >
> >         <Resource name="jdbc/test_connect" auth="Container"
> > type="javax.sql.DataSource"/> <= have you added this?
> >         <ResourceParams name="jdbc/test_connect">
> >         <parameter>
> >                 <name>driverClassName</name>
> >                 <value>your.jdbc.driver</value>
> >         </parameter>
> >         <parameter>
> >                 <name>url</name>
> >                 <value>your.jdbc.url</value>
> >         </parameter>
> >         <parameter>
> >                 <name>username</name>
> >                 <value>youruser</value>
> >         </parameter>
> >         <parameter>
> >                 <name>password</name>
> >                 <value>yourpass</value>
> >         </parameter>
> >         <parameter>
> >                 <name>maxActive</name>
> >                 <value>20</value>
> >         </parameter>
> >         <parameter>
> >                 <name>maxIdle</name>
> >                 <value>10</value>
> >         </parameter>
> >         <parameter>
> >                 <name>minIdle</name>
> >                 <value>10</value>
> >         </parameter>
> >         <parameter>
> >                 <name>maxWait</name>
> >                 <value>15000</value>
> >         </parameter>
> >         <parameter>
> >                 <name>removeAbandoned</name>
> >                 <value>true</value>
> >         </parameter>
> >         <parameter>
> >                 <name>validationQuery</name>
> >                 <value>your_query</value>
> >         </parameter>
> >         <parameter>
> >                 <name>testOnBorrow</name>
> >                 <value>true</value>
> >         </parameter>
> >         <parameter>
> >                 <name>testOnReturn</name>
> >                 <value>true</value>
> >         </parameter>
> >         <parameter>
> >                 <name>minEvictableIdleTimeMillis</name>
> >                 <value>-1</value>
> >         </parameter>
> >         <!-- sleeps 5 minutes -->
> >         <parameter>
> >                 <name>timeBetweenEvictionRunsMillis</name>
> >                 <value>300000</value>
> >         </parameter>
> >         <parameter>
> >                 <name>numTestsPerEvictionRun</name>
> >                 <value>1</value>
> >         </parameter>
> >         <parameter>
> >                 <name>testWhileIdle</name>
> >                 <value>true</value>
> >         </parameter>
> >
> >         </ResourceParams>
> >
> > 3. code
> >
> >                 Context initContext = new InitialContext();
> >                 Context jdbcContext = (Context)
> > initContext.lookup("java:comp/env");
> >                 DataSource dataSource = (DataSource)
> > jdbcContext.lookup("jdbc/test_connect");
> >                 ...
> >
> >
> > -----Original Message-----
> > From: Eric Wulff [mailto:[EMAIL PROTECTED]
> > Sent: October 7, 2004 4:34 PM
> > To: Tomcat Users List
> > Subject: Re: connection pooling
> >
> > Hi Phillip,
> >
> > On Thu, 7 Oct 2004 09:29:09 -0400, you wrote:
> > > Detail, detail, detail.
> > >
> > > 1. your context.xml
> > > 2. your web.xml
> > > 3. how do you obtain connection from pool, java code pls. 4. can you
> > > connect using pool 5. commons-pool version
> > >
> > > Etc. etc.
> > >
> > > You need to provide details otherwise we can't help.
> >
> > This was all included in my original post.  Ok, actually my 2nd post
> > because I accidentally hit send prior to completing my post via the
> > scroll pad on my laptop.  Still, thx for checking on this and the info
> > you looking for is copied again here...
> >
> > System:
> > Tomcat 5 on Fedora Core 2 connecting to a db on an Informix Dynamic
> > Server 9.4 on Windows Server
> >
> > -I am able to connect to my db via typical JDBC
> > DriverManager.getConnection().  This leads me to believe that my
> > informix jdbc driver is in the correct place...
> > CATALINA_HOME/common/lib -I have a Context set up in my server.xml per
> > examples in a text tutorial I'm referencing
> >
> > Below listed...
> > -errors
> > -web.xml
> > -server.xml <Context> (minus connection actual values)
> > -.java
> >
> > exception/errors:
> > -Exception: org.apache.commons.dbcp.SQLNestedException: Cannot create
> > JDBC driver of class '' for connect URL 'null' SQL state: null Error
> > code: 0
> >
> > -stack trace reveals this, but I can't see why since I have the driver
> > in the correct directory...
> > java.sql.SQLException: No suitable driver at
> > java.sql.DriverManager.getDriver(DriverManager.java:243) at
> > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSour
> > ce.jav
> > a:773)
> >
> > web.xml:
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <!DOCTYPE web-app
> >    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> >    "http://java.sun.com/dtd/web-app_2_3.dtd";>
> > <web-app>
> >        <servlet>
> >                <servlet-name>Test Connection Pooling</servlet-name>
> >                <servlet-class>TestConnectionPooling</servlet-class>
> >        </servlet>
> >
> >        <servlet-mapping>
> >                <servlet-name>Test Connection Pooling</servlet-name>
> >                <url-pattern>/testConnectionPooling</url-pattern>
> >        </servlet-mapping>
> >
> >        <resource-ref>
> >          <res-ref-name>jdbc/test_connect</res-ref-name>
> >          <res-type>javax.sql.DataSource</res-type>
> >          <res-auth>Container</res-auth>
> >        </resource-ref>
> > </web-app>
> >
> > server.xml <Context>:
> >  <Context path="/testConnectionPooling"
> > docBase="testConnectionPooling" debug="0" reloadable="true">
> >    <ResourceParams name="jdbc/test_connect">
> >      <parameter>
> >        <name>username</name>
> >        <value>informix</value>
> >      </parameter>
> >      <parameter>
> >        <name>password</name>
> >        <value>informix</value>
> >      </parameter>
> >      <parameter>
> >        <name>driverClassName</name>
> >        <value>com.informix.jdbc.IfxDriver</value>
> >      </parameter>
> >      <parameter>
> >        <name>url</name>
> > <value>jdbc:informix-sqli://url:port/dbName:INFORMIXSERVER=serverName<
> > /value
> > >
> >      </parameter>
> >    </ResourceParams>
> >  </Context>
> >
> > .java:
> > import java.io.*;
> > import java.sql.*;
> > // -Must import javax.naming use JNDI which is required to implement data
> > //   resource references and hence connection pooling.
> > import javax.naming.*;
> > import javax.sql.*;
> > import javax.servlet.*;
> > import javax.servlet.http.*;
> > import java.util.*;
> >
> > public class TestConnectionPooling extends HttpServlet {
> >        private DataSource dataSource;
> >
> >        public void init(ServletConfig config) throws ServletException {
> >                try {
> >                        Context init = new InitialContext();
> >                        // don't know what the 'java:comp/env' refers to
> >                        Context ctx = (Context)
> init.lookup("java:comp/env");
> >                        // I know "jdbc/conversion must match the
> > web.xml res-ref-name of the web.xml but don't know what the path really
> refers to
> >                        dataSource = (DataSource)
> > ctx.lookup("jdbc/test_connect");
> >                } catch (NamingException ex) {
> >                        throw new ServletException("Cannot retrieve
> > java:comp/env/jdbc/test_connect",ex);
> >                }
> >        }
> >
> >        public void doGet(HttpServletRequest request,
> > HttpServletResponse
> > response)
> >        throws ServletException, IOException {
> >                response.setContentType("text/html");
> >                PrintWriter out = response.getWriter();
> >                Connection connection = null;
> >                out.println ("<HTML><HEAD><TITLE>Test Connection
> > Pooling</TITLE></HEAD><BODY>");
> >                out.println("<H1>Customer Name Query</H1>");
> >
> >                try {
> >                        synchronized(dataSource) {
> >                            connection = dataSource.getConnection();
> >                        }
> >                        out.println("<br>");
> >                        out.println("<strong>Loaded informix driver
> > successfully via server.xml.</strong>" +
> >                                                "Now attempting db
> > connection.");
> >                        out.println("<br>");
> >                        PreparedStatement pstmt =
> > connection.prepareStatement("SELECT blah FROM blah blah");
> >                        ResultSet results = pstmt.executeQuery();
> >                        if (!results.next()) {
> >                                throw new SQLException("No data
> > returned for some reason");
> >                        }
> >                        out.println("<br>");
> >                        while(results.next()) {
> >                                out.println("<tr><td>" +
> > results.getString("blah") + "</td></tr>");
> >                        }
> >        } catch (Exception ex) {
> >                        out.println("<br>");
> >                        out.println("Exception: " + ex);
> >                        if(ex instanceof SQLException) {
> >                                SQLException sqlex = (SQLException) ex;
> >                                out.println("<br>");
> >                                out.println("SQL state:
> > "+sqlex.getSQLState()+"<BR>");
> >                                out.println("<br>");
> >                                out.println("Error code:
> > "+sqlex.getErrorCode()+"<BR>");
> >                                out.println("<br><br>");
> >                                sqlex.printStackTrace(out);
> >                                out.println("<br><br>");
> >                        }
> >        }
> >        finally {
> >            try { connection.close(); } catch (Exception ex) {}
> >        }
> >                out.println ("</BODY></HTML>");
> >    }
> > }
> >
> >   ReplyForward
> >
> > [EMAIL PROTECTED]
> > java code: Context ctx = (Context) init.lookup("xxxxxx"); server.xml:
> > <Resour...
> >                  Oct 6 (22 hours ago)
> >
> > [EMAIL PROTECTED]
> > Please ignore my last post - it's wrong. (Answered before verifying).
> >                  Oct 6 (22 hours ago)
> >
> > [EMAIL PROTECTED]
> > Is that litterally what you have in your server.xml?
> >                  Oct 6 (22 hours ago)
> >
> > Eric Wulff
> > No, literally I have the actual values. The same connection string I
> > use to s...
> >                  Oct 6 (22 hours ago)
> >
> > [EMAIL PROTECTED]
> > Is there a xxxxx.xml file in (TOMCAT_HOME)/conf/Catalina/localhost,
> > where xxx...
> >                  Oct 6 (22 hours ago)
> >
> > Eric Wulff
> > Context name? I assume your referring to the ResourceParams name
> > attribute, j...
> >                  Oct 6 (19 hours ago)
> >
> > Phillip Qin
> > <[EMAIL PROTECTED]> to Tomcat
> >          More options    6:29am (7 hours ago)
> > Detail, detail, detail.
> >
> > 1. your context.xml
> > 2. your web.xml
> > 3. how do you obtain connection from pool, java code pls.
> > 4. can you connect using pool
> > 5. commons-pool version
> >
> > Etc. etc.
> >
> > You need to provide details otherwise we can't help.
> > - Show quoted text -
> >
> > -----Original Message-----
> > From: Eric Wulff [mailto:[EMAIL PROTECTED]
> > Sent: October 6, 2004 5:09 PM
> > To: [EMAIL PROTECTED]
> > Subject: connection pooling
> >
> > Hi all, I have gone over some of the tomcat docs and googled errors
> > but there is SO much information covering JNDI and Datasources... and
> > I'm hoping I don't have to be a JNDI/Datasource and XML guru just to
> > set up db connections via connection pool.
> >
> > My situation is this...
> >
> > System:
> > Tomcat 5 on Fedora Core 2 connecting to a db on an Informix Dynamic
> > Server 9.4 on Windows Server
> >
> > -I am able to connect to my db via typical JDBC
> > DriverManager.getConnection(). -This leads me to believe that my jdbc
> > driver is in the correct place ...CATALINA
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >   ReplyForwardInvite Phillip to Gmail
> > Send  Save Draft  Discard      Check spelling
> > To:
> > Cc:
> > Bcc:
> >
> > Add Cc | Add Bcc | Edit Subject | Attach a file
> > Subject:
> >
> > Attach a file
> >
> > Send  Save Draft  Discard      Check spelling
> >
> > Atishay Kumar
> > <[EMAIL PROTECTED]> to Tomcat, me
> >          More options    6:47am (6 hours ago)
> > On Wed, 6 Oct 2004 14:37:58 -0700, Eric Wulff <[EMAIL PROTECTED]>
> > wrote:
> > > I have gone over some of the tomcat docs and googled errors but
> > > there is SO much information covering JNDI, connection pooling, and
> > > Datasources.  Can someone review the info below and consult or point
> > > me in the right direction?  Although I feel I'm missing something
> > > obvious, I can't find out what's wrong with my set-up.
> > >
> > > thx
> > > Eric
> > >
> > > System:
> > > Tomcat 5 on Fedora Core 2 connecting to a db on an Informix Dynamic
> > > Server 9.4 on Windows Server
> > >
> > > -I am able to connect to my db via typical JDBC
> > > DriverManager.getConnection().  This leads me to believe that my
> > > informix jdbc driver is in the correct place...
> > > CATALINA_HOME/common/lib -I have a Context set up in my server.xml
> > > per examples in a text tutorial I'm referencing
> > >
> > > Below listed...
> > > -errors
> > > -web.xml
> > > -server.xml <Context> (minus connection actual values) -.java
> > >
> > > exception/errors:
> > > -Exception: org.apache.commons.dbcp.SQLNestedException: Cannot
> > > create JDBC driver of class '' for connect URL 'null' SQL state:
> > > null Error code: 0
> > >
> > > -stack trace reveals this, but I can't see why since I have the
> > > driver in the correct directory...
> > > java.sql.SQLException: No suitable driver at
> > > java.sql.DriverManager.getDriver(DriverManager.java:243) at
> > > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSo
> > > ur
> > > ce.java:773)
> > >
> > > web.xml:
> > > <?xml version="1.0" encoding="ISO-8859-1"?>
> > > <!DOCTYPE web-app
> > >     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> > >     "http://java.sun.com/dtd/web-app_2_3.dtd";>
> > > <web-app>
> > >         <servlet>
> > >                 <servlet-name>Test Connection Pooling</servlet-name>
> > >                 <servlet-class>TestConnectionPooling</servlet-class>
> > >         </servlet>
> > >
> > >         <servlet-mapping>
> > >                 <servlet-name>Test Connection Pooling</servlet-name>
> > >                 <url-pattern>/testConnectionPooling</url-pattern>
> > >         </servlet-mapping>
> > >
> > >         <resource-ref>
> > >           <res-ref-name>jdbc/test_connect</res-ref-name>
> > >           <res-type>javax.sql.DataSource</res-type>
> > >           <res-auth>Container</res-auth>
> > >         </resource-ref>
> > > </web-app>
> > >
> > > server.xml <Context>:
> > >   <Context path="/testConnectionPooling"
> > > docBase="testConnectionPooling" debug="0" reloadable="true">
> >
> > <Resource name="jdbc/test_connection" auth="Container"
> > type="javax.sql.DataSource"/> is missing
> >
> > >     <ResourceParams name="jdbc/test_connect">
> > >       <parameter>
> > >         <name>username</name>
> > >         <value>informix</value>
> > >       </parameter>
> > >       <parameter>
> > >         <name>password</name>
> > >         <value>informix</value>
> > >       </parameter>
> > >       <parameter>
> > >         <name>driverClassName</name>
> > >         <value>com.informix.jdbc.IfxDriver</value>
> > >       </parameter>
> > >       <parameter>
> > >         <name>url</name>
> > >
> > <value>jdbc:informix-sqli://url:port/dbName:INFORMIXSERVER=serverName<
> > /value
> > >
> > >       </parameter>
> > >     </ResourceParams>
> > >   </Context>
> > >
> > > .java:
> > > import java.io.*;
> > > import java.sql.*;
> > > // -Must import javax.naming use JNDI which is required to implement
> data
> > > //   resource references and hence connection pooling.
> > > import javax.naming.*;
> > > import javax.sql.*;
> > > import javax.servlet.*;
> > > import javax.servlet.http.*;
> > > import java.util.*;
> > >
> > > public class TestConnectionPooling extends HttpServlet {
> > >         private DataSource dataSource;
> > >
> > >         public void init(ServletConfig config) throws ServletException {
> > >                 try {
> > >                         Context init = new InitialContext();
> > >                         // don't know what the 'java:comp/env' refers to
> > >                         Context ctx = (Context)
> > init.lookup("java:comp/env");
> > >                         // I know "jdbc/conversion must match the
> > > web.xml res-ref-name of the web.xml but don't know what the path
> > > really
> > refers to
> > >                         dataSource = (DataSource)
> > ctx.lookup("jdbc/test_connect");
> > >                 } catch (NamingException ex) {
> > >                         throw new ServletException("Cannot retrieve
> > > java:comp/env/jdbc/test_connect",ex);
> > >                 }
> > >         }
> > >
> > >         public void doGet(HttpServletRequest request,
> > > HttpServletResponse
> > response)
> > >         throws ServletException, IOException {
> > >                 response.setContentType("text/html");
> > >                 PrintWriter out = response.getWriter();
> > >                 Connection connection = null;
> > >                 out.println ("<HTML><HEAD><TITLE>Test Connection
> > > Pooling</TITLE></HEAD><BODY>");
> > >                 out.println("<H1>Customer Name Query</H1>");
> > >
> > >                 try {
> > >                         synchronized(dataSource) {
> > >                             connection = dataSource.getConnection();
> > >                         }
> > >                         out.println("<br>");
> > >                         out.println("<strong>Loaded informix driver
> > > successfully via server.xml.</strong>" +
> > >                                                 "Now attempting db
> > connection.");
> > >                         out.println("<br>");
> > >                         PreparedStatement pstmt =
> > > connection.prepareStatement("SELECT blah FROM blah blah");
> > >                         ResultSet results = pstmt.executeQuery();
> > >                         if (!results.next()) {
> > >                                 throw new SQLException("No data
> > > returned
> > for some reason");
> > >                         }
> > >                         out.println("<br>");
> > >                         while(results.next()) {
> > >                                 out.println("<tr><td>" +
> > results.getString("blah") + "</td></tr>");
> > >                         }
> > >         } catch (Exception ex) {
> > >                         out.println("<br>");
> > >                         out.println("Exception: " + ex);
> > >                         if(ex instanceof SQLException) {
> > >                                 SQLException sqlex = (SQLException) ex;
> > >                                 out.println("<br>");
> > >                                 out.println("SQL state:
> > "+sqlex.getSQLState()+"<BR>");
> > >                                 out.println("<br>");
> > >                                 out.println("Error code:
> > "+sqlex.getErrorCode()+"<BR>");
> > >                                 out.println("<br><br>");
> > >                                 sqlex.printStackTrace(out);
> > >                                 out.println("<br><br>");
> > >                         }
> > >         }
> > >         finally {
> > >             try { connection.close(); } catch (Exception ex) {}
> > >         }
> > >                 out.println ("</BODY></HTML>");
> > >
> > >
> > >     }
> > > }
> >
> > On Thu, 7 Oct 2004 09:29:09 -0400, Phillip Qin
> > <[EMAIL PROTECTED]>
> > wrote:
> > > Detail, detail, detail.
> > >
> > > 1. your context.xml
> > > 2. your web.xml
> > > 3. how do you obtain connection from pool, java code pls. 4. can you
> > > connect using pool 5. commons-pool version
> > >
> > > Etc. etc.
> > >
> > > You need to provide details otherwise we can't help.
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Eric Wulff [mailto:[EMAIL PROTECTED]
> > > Sent: October 6, 2004 5:09 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: connection pooling
> > >
> > > Hi all, I have gone over some of the tomcat docs and googled errors
> > > but there is SO much information covering JNDI and Datasources...
> > > and I'm hoping I don't have to be a JNDI/Datasource and XML guru
> > > just to set up db connections via connection pool.
> > >
> > > My situation is this...
> > >
> > > System:
> > > Tomcat 5 on Fedora Core 2 connecting to a db on an Informix Dynamic
> > > Server 9.4 on Windows Server
> > >
> > > -I am able to connect to my db via typical JDBC
> > > DriverManager.getConnection(). -This leads me to believe that my
> > > jdbc driver is in the correct place ...CATALINA
> > >
> > > --------------------------------------------------------------------
> > > -
> > > 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]
> >
> > !DSPAM:4165a84c9322136420805!
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> !DSPAM:4165bb7715701366110907!
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to