The following results in a 500 error. <c:set var='driverInfo' value="${initParam.URL},${initParam.driver},javajoe,javajoe" /> <sql:setDataSource dataSource="${driverInfo}" var='driverInfoDS' /> driverInfo String looks like jdbc:sybase:Tds:ace:4100/tempdb?FAKE_METADATA=true,com.sybase.jdbc2.jdbc.SybDriver,javajoe,javajoe
Is the 500 error the result of a stack trace that looks something like this: javax.servlet.ServletException: In <driver>, invalid driver class name: "com.sy base.jdbc2.jdbc.SybDriver" If so, the error may be appropriate if the class truly isn't found. - If this is the exception, let's clarify with Pierre. - If this is not the exception, please post the error you're getting. Thanks!
Here is the stack, this should work based on 10.1.1 of the spec javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(QueryTagSupport.java:287) at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(QueryTagSupport.java:177) at org.apache.taglibs.standard.tag.el.sql.QueryTag.doStartTag(QueryTag.java:123) at org.apache.jsp.positiveSetDataSourceDriverManagerTest$jsp._jspService(positiveSetDataSourceDriverManagerTest$jsp.java:296) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2349) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:373) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:325) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:495) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516) at java.lang.Thread.run(Thread.java:536)
Hmm... this isn't coinciding with the current CVS head. (The line number doesn't resolve.) Are you using the most recent version? Can I see a new stack trace with that version (and a whole JSP page, if possible)? Thanks. I haven't maintained the SQL libraries in the past, so I don't have intuition about the errors (as with other libraries) and need to resolve it from first principles. :-)
Looks like I had a left over query in my script which is why the failure was reported :-(