I have got this working recently with an Oracle database. Here's what I have in server.xml:
... <GlobalNamingResources> <Resource name="my-database" scope="Shareable" type="javax.sql.DataSource"/> <ResourceParams name="my-database"> <parameter> <name>validationQuery</name> <value>select sysdate from dual</value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>password</name> <value>oracle-password</value> </parameter> <parameter> <name>url</name> <value>jdbc:oracle:thin:@server:1521:sid</value> </parameter> <parameter> <name>driverClassName</name> <value>oracle.jdbc.driver.OracleDriver</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> <parameter> <name>username</name> <value>oracle-user</value> </parameter> </ResourceParams> </GlobalNamingResources> ... I then deploy my web app ensuring it has a META-INF/context.xml file as follows: <Context path="/demo" debug="0" privileged="true"> <ResourceLink name="jdbc/mydatabase" global="my-database" type="javax.sql.DataSource"/> </Context> My web app can then use the data source with a JNDI name of "jdbc/mydatabase". I deploy my web app through via Ant (using the deploy task found in catalina-ant.jar). I don't think the context.xml gets picked up if you were to just drop the WAR file in webapps. Cheers, Jon On Tue, 2003-03-11 at 06:39, Fredrik Larsson wrote: > Hi all. > > I'm trying to set up a global DataSource on my Tomcat 4.1.18 standalone to > be available to all of my applications installed on the server. > > But... I just can't get this to work. I've been following the instructions > in the tomcat documentation but it doesn't help. > > I can start the server without any problems and view the global datasource > in the Administration Tool but as soon as I'm trying to access the > datasource from a servlet i get the following exception: > java.sql.SQLException: Cannot load JDBC driver class 'null'. > > I've tried to set up the datasource for just one application context and > that works... but that's not what I want. > > Another thing is that when I'm trying to view the datasources for one > specific application-context that should use this global datasource I get > this exception: > org.apache.jasper.JasperException: Exception retrieving attribute > 'driverClassName' > > Has anyone got a clue? > > Thanks! > /Fredrik > > > This is what my conf-files look like: > > SERVER.XML > <GlobalNamingResources> > > <Resource name="jdbc/MyDB" > auth="Container" > type="javax.sql.DataSource"/> > > <ResourceParams name="jdbc/MyDB"> > <parameter> > <name>factory</name> > <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> > </parameter> > > <parameter> > <name>maxActive</name> > <value>100</value> > </parameter> > > <parameter> > <name>maxIdle</name> > <value>30</value> > </parameter> > > <parameter> > <name>maxWait</name> > <value>10000</value> > </parameter> > > <parameter> > <name>username</name> > <value>myusername</value> > </parameter> > <parameter> > <name>password</name> > <value></value> > </parameter> > > <parameter> > <name>driverClassName</name> > <value>org.gjt.mm.mysql.Driver</value> > </parameter> > > <parameter> > <name>url</name> > <value>jdbc:mysql://localhost:3306/mydb</value> > </parameter> > </ResourceParams> > > </GlobalNamingResources> > > WEB.XML > <resource-ref> > <description>DB Connection</description> > <res-ref-name>jdbc/MyDB</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > </resource-ref> > > > --------------------------------------------------------------------- > 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]