Subject Re: Configuring Tomcat JNDI and Firebird
Author grndeveloper
Hi Rick,

I think we finally succeed. Forget the last email.

Once the context was correctly configured I was able to detect the
problem in the Ibatis configuration file. So your first email was the
main solution of my problem.

Thanks for your patience.

--- In Firebird-Java@yahoogroups.com, "grndeveloper" <developer@...>
wrote:
>
> Hi Rick,
>
> I write again the email...
>
> From your answer I initially thought that it was and Ibatis problem,
> because I got no error when starting tomcat, but I think that with
> your test the problem still is the datasource configuration.
>
> I have tested what you told me and these are the results.
>
> I have one application with only these files:
> - web.xml
> - context.xml
> - prova.jsp
>
> The file prova.jsp is a copy of your example:
> <<<<<<<<<<<<<<<<<
> <%@ page import="javax.naming.Context"%>
> <%@ page import="javax.naming.InitialContext"%>
> <%@ page import="javax.sql.DataSource"%>
> <%@ page import="java.io.IOException"%>
> <%@ page import="java.sql.Connection"%>
> <%@ page import="java.sql.SQLException"%>
> <%
> DataSource ds=null;
> Connection connRSFind=null;
>
> String resp="";
>
> try
> {
> Context ctx = new InitialContext();
>
> if(ctx == null )
> throw new Exception("Boom - No Context");
>
> ds = (DataSource)ctx.lookup("java:comp/env/jdbc/link_to_sg2_bbdd");
>
> try
> {
> connRSFind = ds.getConnection();
> resp = "no error" ;
> }
> catch (SQLException e)
> {
> resp = "getting new data source connection failed! Error:
"+e+"\n";
> }
>
> }
> catch (Exception e)
> {
> resp = "Could Not get data source, error: "+e+"\n";
> }
> %>
>
> <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <head>
> <link rel="stylesheet" type="text/css" href="<html:rewrite
> forward="DisplayTableCSS"/>">
> <title>Ficha</title>
> </head>
> <body>
> <table width="100%" align="center">
> <tr>
> <td align="center">
> <%=resp%>
> </td>
> </tr>
> </table>
> </body>
> </html>
> >>>>>>>>>>>>>>>>>
>
> The message I get when I execute the application is:
> getting new data source connection failed! Error:
> org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC
> driver of class '' for connect URL 'null'
>
> Here are the tomcat logs:
>
> catalina.out
> <<<<<<<<<<<<<<<<<<
> 18/10/2006 10:55:59 org.apache.coyote.http11.Http11Protocol init
> INFO: Initializing Coyote HTTP/1.1 on http-8080
> 18/10/2006 10:55:59 org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 1017 ms
> 18/10/2006 10:55:59 org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> 18/10/2006 10:55:59 org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/5.5.9
> 18/10/2006 10:55:59 org.apache.catalina.core.StandardHost start
> INFO: XML validation disabled
> 18/10/2006 10:56:01 org.displaytag.filter.ResponseOverrideFilter init
> INFO: Filter initialized. Response buffering is enabled
> 18/10/2006 10:56:02 org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
> 18/10/2006 10:56:02 org.apache.jk.common.ChannelSocket init
> INFO: JK: ajp13 listening on /0.0.0.0:8009
> 18/10/2006 10:56:02 org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/57 config=null
> 18/10/2006 10:56:02 org.apache.catalina.storeconfig.StoreLoader load
> INFO: Find registry server-registry.xml at classpath resource
> 18/10/2006 10:56:02 org.apache.catalina.startup.Catalina start
> INFO: Server startup in 3469 ms
> 18/10/2006 10:57:35 org.displaytag.filter.ResponseOverrideFilter init
> INFO: Filter initialized. Response buffering is enabled
> >>>>>>>>>>>>>>>>>>>>
>
> localhost.2006-10-18.log
> <<<<<<<<<<<<<<<<<<<<<<<
> 18/10/2006 10:56:01 org.apache.catalina.core.ApplicationContext log
> SEVERE: StandardWrapper.Throwable
> java.lang.NullPointerException
> at
>
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:705)
> at
>
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
> at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
> at javax.servlet.GenericServlet.init(GenericServlet.java:211)
> at
>
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
> at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
> at
>
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
> at
>
org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
> at
>
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
> at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> at
>
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:589)
> at
>
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:536)
> at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:471)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
> at
>
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> at
>
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
> at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:450)
> at
org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
> 18/10/2006 10:56:01 org.apache.catalina.core.StandardContext
loadOnStartup
> SEVERE: Servlet /prova threw load() exception
> java.lang.NullPointerException
> at
>
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:705)
> at
>
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
> at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
> at javax.servlet.GenericServlet.init(GenericServlet.java:211)
> at
>
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
> at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
> at
>
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
> at
>
org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
> at
>
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
> at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> at
>
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:589)
> at
>
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:536)
> at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:471)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
> at
>
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> at
>
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
> at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:450)
> at
org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
> 18/10/2006 10:56:02 org.apache.catalina.core.ApplicationContext log
> INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain:
> [org.apache.webapp.balancer.RuleChain:
> [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string:
> News / Redirect URL: http://www.cnn.com],
> [org.apache.webapp.balancer.rules.RequestParameterRule: Target param
> name: paramName / Target param value: paramValue / Redirect URL:
> http://www.yahoo.com],
> [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL:
> http://jakarta.apache.org]]
> 18/10/2006 10:56:02 org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextInitialized()
> 18/10/2006 10:56:02 org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextInitialized()
> 18/10/2006 10:56:02 org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextInitialized()
> 18/10/2006 10:56:02 org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextInitialized()
> 18/10/2006 10:57:35 org.apache.catalina.core.ApplicationContext log
> SEVERE: StandardWrapper.Throwable
> java.lang.NullPointerException
> at
>
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:705)
> at
>
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
> at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
> at javax.servlet.GenericServlet.init(GenericServlet.java:211)
> at
>
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
> at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
> at
>
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
> at
>
org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
> at
>
org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1175)
> at
>
org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:510)
> at
>
org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:104)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
>
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
> at
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
> at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
> 18/10/2006 10:57:35 org.apache.catalina.core.StandardContext
loadOnStartup
> SEVERE: Servlet /prova threw load() exception
> java.lang.NullPointerException
> at
>
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:705)
> at
>
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
> at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
> at javax.servlet.GenericServlet.init(GenericServlet.java:211)
> at
>
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
> at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
> at
>
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
> at
>
org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
> at
>
org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1175)
> at
>
org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:510)
> at
>
org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:104)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
>
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
> at
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
> at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><
>
>
> --- In Firebird-Java@yahoogroups.com, "grndeveloper" <developer@>
> wrote:
> >
> > Hi Rick,
> >
> > I replied your message yestarday, but it seems that didn't reach
> > the mailing list.
> >
> > Do you Know how can I contact the responsible of this mailing list
> > to see if something wrong has happened with the message. Otherwise I
> > will have to write it again...
> >
> > Thanks.
> >
> > --- In Firebird-Java@yahoogroups.com, Rick Fincher <rnf@> wrote:
> > >
> > > Hi,
> > >
> > > You still need the resource-ref in WEBB.xml. The context stuff
just
> > > sets up the Tomcat server. The WEB.xml stuff sets up your web
app to
> > > connect to the data source from the Tomcat server's context.
> > >
> > > It looks as though Tomcat is unable to load the driver. This
doesn't
> > > make sense if you are able to create the data source from the Admin
> > > Tool, because Tomcat has to load the driver then or it can't create
> > the
> > > data source to begin with.
> > >
> > > Is the exception being thrown in the Ibatis code or when the Tomcat
> > starts?
> > >
> > > Try starting with a clean log file directory, starting Tomcat with
> your
> > > data source, but without running the app. Check to see if you
get an
> > > error in the log. If not, it would indicate a problem in Ibatis.
> > >
> > > Also try starting a simple web app that just gets a connection
> from the
> > > Tomcat Data Source, no Ibatis or anything else, just get a
connection.
> > >
> > > A JSP wth the following is an example:
> > >
> > > // Get a connection to the database from the dataSource.
> > > DataSource ds=null;
> > > Connection connRSFind=null;
> > >
> > > try
> > > {
> > > Context ctx = new InitialContext();
> > >
> > > if(ctx == null )
> > > throw new Exception("Boom - No Context");
> > >
> > > ds =
(DataSource)ctx.lookup("java:comp/env/jdbc/link_to_sg2_bbdd");
> > >
> > > try
> > > {
> > > connRSFind = ds.getConnection();
> > > }
> > > catch (SQLException e)
> > > {
> > > System.out.println("getting new data source connection
failed!
> > > Error: "+e+"\n");
> > > }
> > >
> > > }
> > > catch (Exception e)
> > > {
> > > System.out.println("Could Not get data source, error: "+e+"\n");
> > > }
> > >
> > >
> > > If that works, it would indicate a problem with the Ibatis setup.
> > >
> > > If you get erors with a smple connection, post the entire stack
> > trace so
> > > we can narrow down the problem.
> > >
> > > Rick
> > >
> > > grndeveloper wrote:
> > >
> > > > Hello Rick,
> > > >
> > > > I think I have implemented your solution, but I get the same
> mistake.
> > > >
> > > > I have created a Datasource from Tomcat Administration, and I have
> > > > not modified it manually. Now it looks like:
> > > >
> > > > <Resource
> > > > name="sg2_bbdd"
> > > > type="javax.sql.DataSource"
> > > > password="masterkey"
> > > > driverClassName="org.firebirdsql.jdbc.FBDriver"
> > > > maxIdle="2"
> > > > maxWait="5000"
> > > > validationQuery="select cast(1 as integer) from rdb$database"
> > > > username="sysdba"
> > > > url="jdbc:firebirdsql:192.168.2.2/3050:home/sg2/sg2JAVA.fdb"
> > > > maxActive="5"/>
> > > >
> > > > I have created a new file /META-INF/context.xml which generates
> me the
> > > > file /conf/Catalina/localhost/jaume1.xml , which looks like:
> > > >
> > > > <Context docBase="jaume1" path="/jaume1" >
> > > > <ResourceLink name="link_to_sg2_bbdd"
> > > > global="sg2_bbdd" type="javax.sql.DataSource"/>
> > > > </Context>
> > > >
> > > > Besides that I also have this portion of code in the web.xml
> file, but
> > > > I guess it's not necessary.
> > > >
> > > > <resource-ref>
> > > > <res-ref-name>jdbc/link_to_sg2_bbdd</res-ref-name>
> > > > <res-type>javax.sql.DataSource</res-type>
> > > > <res-auth>Container</res-auth>
> > > > <res-sharing-scope>Shareable</res-sharing-scope>
> > > > </resource-ref>
> > > >
> > > > Is there anything else, that I am missing?
> > > >
> > > > Thanks in advance.
> > > >
> > > > --- In Firebird-Java@yahoogroups.com
> > > > <mailto:Firebird-Java%40yahoogroups.com>, Rick Fincher <rnf@>
wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > With Tomcat 5.5.x you should not be modifying the server.xml
> > file. Go
> > > > > into the tomcat administrator application and create your data
> > sources
> > > > > there. The administrator app has a link on the Tomcat splash
page.
> > > > >
> > > > > In the <CATALINA_HOME>/conf/Catalina/localhost directory you
> should
> > > > see
> > > > > an XML file with the name of your web app. If you do not, your
> > context
> > > > > is not set up properly.
> > > > >
> > > > > This file gets generated by Tomcat from your context.xml file
> > that is
> > > > > located in the META-INF folder of your web application.
> > > > >
> > > > > It should look something like this:
> > > > >
> > > > > <Context docBase="webAppName" path="/webAppName" >
> > > > > <ResourceLink name="jdbc/yourDataSourceName"
> > > > > global="jdbc/yourDataSourceName" type="javax.sql.DataSource"/>
> > > > > </Context>
> > > > >
> > > > > There should be a resource link for each data source you want to
> > use.
> > > > >
> > > > > By doing things this way, Tomcat can launch your web apps and
> add or
> > > > > drop data sources without restarting Tomcat and disrupting
> everybody
> > > > > elses web apps.
> > > > >
> > > > > Put your server.xml file back to the default and restart Tomcat.
> > Then
> > > > > go in the administrator to create your Data Sources. A good
> > validation
> > > > > query for Firebird is: SELECT CAST(1 AS INTEGER) FROM
> > rdb$database. It
> > > > > should always work.
> > > > >
> > > > > Check to be sure your context.xml file for your web app got
> > created as
> > > > > described above.
> > > > >
> > > > > Your username will have to be listed as an administrator in
> whatever
> > > > > login database scheme you are using (tomcat-users.xml, etc.) for
> > you to
> > > > > have access to the administrator application.
> > > > >
> > > > > Hope this helps!
> > > > >
> > > > > Rick
> > > > >
> > > > > grndeveloper wrote:
> > > > >
> > > > > > We are on Tomcat version 5.5.9 and we are using Jaybird
> 2.1.0 with
> > > > IBATIS.
> > > > > > We have IBATIS working in a simple DATASOURCE configuration,
> > and now
> > > > > > we are trying to configure our application to use JNDI and
> > connection
> > > > > > pooling.
> > > > > >
> > > > > >
> > > > > > We have made this modifications in the following files:
> > > > > >
> > > > > > >>>>server.xml >>>>>>>>
> > > > > > ...
> > > > > > <GlobalNamingResources>
> > > > > > ...
> > > > > > <Resource name="sg2_bbdd" auth="Container"
> > > > > > type="javax.sql.DataSource"/>
> > > > > > <ResourceParams name="sg2_bbdd">
> > > > > > <parameter>
> > > > > > <name>validationQuery</name>
> > > > > > <value>select x_idio.idio_codi from x_idio</value>
> > > > > > </parameter>
> > > > > > <parameter>
> > > > > > <name>maxWait</name>
> > > > > > <value>5000</value>
> > > > > > </parameter>
> > > > > > <parameter>
> > > > > > <name>maxActive</name>
> > > > > > <value>10</value>
> > > > > > </parameter>
> > > > > > <parameter>
> > > > > > <name>username</name>
> > > > > > <value>sysdba</value>
> > > > > > </parameter>
> > > > > > <parameter>
> > > > > > <name>password</name>
> > > > > > <value>masterkey</value>
> > > > > > </parameter>
> > > > > > <parameter>
> > > > > > <parameter>
> > > > > > <name>url</name>
> > > > > >
> > > > > >
> > <value>jdbc:firebirdsql:192.168.2.2/3050:home/sg2/sg2JAVA.fdb</value>
> > > > > > </parameter>
> > > > > > <parameter>
> > > > > > <name>driverClassName</name>
> > > > > > <value>org.firebirdsql.jdbc.FBDriver</value>
> > > > > > </parameter>
> > > > > > <parameter>
> > > > > > <name>maxIdle</name>
> > > > > > <value>5</value>
> > > > > > </parameter>
> > > > > > </ResourceParams>
> > > > > > </GlobalNamingResources>
> > > > > > ...
> > > > > > <Host
> > > > > > appBase="webapps"
> > > > > > name="localhost">
> > > > > > <DefaultContext>
> > > > > > <ResourceLink
> > > > > > global="sg2_bbdd"
> > > > > > name="jdbc/link_to_sg2_bbdd"
> > > > > > type="javax.sql.DataSource"/>
> > > > > > </DefaultContext>
> > > > > > </Host>
> > > > > >
> > > > > >
> > > > > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > > > > >
> > > > > > >>>web.xml >>>>>>>>
> > > > > > .....
> > > > > > <resource-ref>
> > > > > > <res-ref-name>jdbc/link_to_sg2_bbdd</res-ref-name>
> > > > > > <res-type>javax.sql.DataSource</res-type>
> > > > > > <res-auth>Container</res-auth>
> > > > > > <res-sharing-scope>Shareable</res-sharing-scope>
> > > > > > </resource-ref>
> > > > > > .....
> > > > > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > > > > >
> > > > > > >>>>sql-map-config.xml (Ibatis configuration
> > > > > > file)>>>>>>>>>>>>>>>>>>>>>>>>
> > > > > >
> > > > > > ....
> > > > > > <transactionManager type="JDBC">
> > > > > > <dataSource type="JNDI">
> > > > > > <property value="java:comp/env/jdbc/link_to_sg2_bbdd"
> > > > > > name="DataSource"/>
> > > > > > </dataSource>
> > > > > > </transactionManager>
> > > > > > ....
> > > > > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > > > > >
> > > > > > We also have put the jaybird-full-2.1.0.jar into the
> > > > > > [CATALINA_HOME]/common/lib directory. In our application there
> > is no
> > > > > > reference to jaybird-full-2.1.0.jar
> > > > > >
> > > > > > With all this changes all we get from Tomcat logs is the
> following
> > > > > > error message:
> > > > > > org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot
> create JDBC
> > > > > > driver of class '' for connect URL 'null'
> > > > > > ...
> > > > > > Caused by: java.sql.SQLException: No suitable driver"
> > > > > > ...
> > > > > >
> > > > > > I think the problem we have has nothing to do with IBATIS, it
> > is just
> > > > > > we are doing something wrong with the driver or the tomcat
> > > > configuration.
> > > > > > Does anyone could give us some help?
> > > > > >
> > > > > > Thanks in advance.
> > > > > >
> > > > > > _
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > [Non-text portions of this message have been removed]
> > > > >
> > > >
> > > >
> > >
> > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
>