Hi, in my environmet ( WindowsXP, Tomcat5, DB2) dbforms cannot estblish a dbconnection via JNDI resource to the database. If the dbconnection is defined directly in dbform-config.xml then it works fine.
How do I properly define a JNDI Connection ? Following error occurs : ******* connection error: ************ ERROR-[23.07.2004 17:10:08]-[http-8080-Processor25]-[org.dbforms.config.DbConnection.getConnectionFromJNDI(DbConnection.java:427)]-::getConnectionFromJNDI - cannot retrieve a connection from JNDI: javax.naming.NameNotFoundException: Name jdbc is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:768) at org.apache.naming.NamingContext.lookup(NamingContext.java:151) at org.apache.naming.SelectorContext.lookup(SelectorContext.java:136) at javax.naming.InitialContext.lookup(InitialContext.java:347) at org.dbforms.config.DbConnection.getConnectionFromJNDI(DbConnection.java:414) at org.dbforms.config.DbConnection.getConnection(DbConnection.java:548) at org.dbforms.config.DbFormsConfig.getConnection(DbFormsConfig.java:230) at org.dbforms.taglib.DbGetConnection.doStartTag(DbGetConnection.java:57) at org.apache.jsp.scmrpt.ctrlReportGen_jsp._jspService(ctrlReportGen_jsp.java:262) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644) at java.lang.Thread.run(Thread.java:534) *************** END ********************** The Tomcat Context definition with Database Resource: ***** scmwebui.xml ******* <Context displayName="SCM WebUI" docBase="scmwebui" path="/scmwebui" workDir="work\Catalina\localhost\scmwebui"> <Resource name="jdbc/SCMAN" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/SCMAN"> <parameter> <name>url</name> <value>jdbc:db2://localhost/SCMAN</value> </parameter> <parameter> <name>validationQuery</name> <value>values(current timestamp)</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>driverClassName</name> <value>COM.ibm.db2.jdbc.net.DB2Driver</value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> <parameter> <name>username</name> <value>scmdbusr</value> </parameter> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>logAbandoned</name> <value>true</value> </parameter> <parameter> <name>removeAbandonedTimeout</name> <value>60</value> </parameter> <parameter> <name>password</name> <value>pw23</value> </parameter> </ResourceParams> </Context> ******** END ********** Reference in the deployment web.xml: ************** web.xml ************* <resource-ref> <description>DB2 Datasource</description> <res-ref-name>jdbc/SCMAN</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> ********** END ***************** The JNDI connection definition ******** dbform-config.xml ********** .... <dbconnection name = "jdbc/SCMAN" isJndi = "true" isPow2 = "false" default = "true" /> .... ******** END ********** What's wrong ? This connection definition works: ******** dbform-config.xml ********** .... <dbconnection id = "jakarta-commons-dbcp" isJndi = "false" isPow2 = "false" default = "true" connectionProviderClass = "org.dbforms.conprovider.JakartaConnectionProvider" connectionPoolURL = "" name = "jdbc:db2://localhost/SCMAN" conClass = "COM.ibm.db2.jdbc.net.DB2Driver" username = "scmdbusr" password = "pw23"> <!-- jdbc properties --> <property name="charSet" value="ISO-8859-1" /> <!-- connection pool dataSource properties --> <pool-property name="validationQuery" value="values(current timestamp)" /> <pool-property name="maxActive" value="10" /> <pool-property name="maxIdle" value="5" /> <pool-property name="maxWait" value="-1" /> <pool-property name="useLog" value="false" /> <pool-property name="removeAbandoned" value="true" /> <pool-property name="logAbandoned" value="true" /> <pool-property name="removeAbandonedTimeout" value="60" /> </dbconnection> .... ******** END ********** Thanks for Help Regards Peter ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 _______________________________________________ DbForms Mailing List http://www.wap-force.net/dbforms