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]
