Tomcat Birt报告部署返回”;无法创建类';的JDBC驱动程序';用于连接URL';空'&引用;

Tomcat Birt报告部署返回”;无法创建类';的JDBC驱动程序';用于连接URL';空'&引用;,tomcat,jndi,birt,Tomcat,Jndi,Birt,我正在使用Birt和Eclipse设计一个报告。当我在Tomcat内部部署时,我遇到了这个问题 Jun 6, 2011 10:42:39 AM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadDriverExtensions INFO: Found JDBC driverinfo extension: driverClass=org.apache.derby.

我正在使用Birt和Eclipse设计一个报告。当我在Tomcat内部部署时,我遇到了这个问题

 Jun 6, 2011 10:42:39 AM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager
                loadDriverExtensions
                INFO: Found JDBC driverinfo extension: driverClass=org.apache.derby.jdbc.Embedde
                dDriver, connectionFactory=null
                Jun 6, 2011 10:43:04 AM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager
                loadDriverExtensions
                INFO: Found JDBC driverinfo extension: driverClass=org.eclipse.birt.report.data.
                oda.sampledb.Driver, connectionFactory=org.eclipse.birt.report.data.oda.sampledb
                .SampleDBJDBCConnectionFactory
                Jun 6, 2011 10:43:04 AM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager$
                DriverClassLoader addNewURL
                INFO: JDBCDriverManager: found JAR file drivers/ojdbc14.jar. URL=bundleentry://4
                1.fwk12171472/drivers/ojdbc14.jar
                Cannot create JDBC driver of class '' for connect URL 'null'
                java.lang.NullPointerException
                        at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
                        at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
                        at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
                        at java.sql.DriverManager.getDriver(DriverManager.java:253)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(B
                asicDataSource.java:1437)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
                aSource.java:1371)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSo
                urce.java:1044)
                        at org.eclipse.birt.report.data.oda.jdbc.JndiDataSource.getDataSourceCon
                nection(JndiDataSource.java:178)
                        at org.eclipse.birt.report.data.oda.jdbc.JndiDataSource.getConnection(Jn
                diDataSource.java:133)
                        at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getJndiDSConn
                ection(JDBCDriverManager.java:325)
                        at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDB
                CDriverManager.java:225)
                        at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection
                (JDBCDriverManager.java:212)
                        at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connect
                ion.java:237)
                        at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java
                :162)
                        at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.
                open(OdaConnection.java:250)
                        at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnec
                tion(ConnectionManager.java:165)
                        at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSo
                urce.java:224)
                        at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java
                :212)
                        at org.eclipse.birt.data.engine.impl.DataSourceRuntime.openOdiDataSource
                (DataSourceRuntime.java:208)
                        at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryE
                xecutor.java:406)
                        at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(Quer
                yExecutor.java:316)
                        at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQue
                ry.java:455)
                        at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQuer
                yResults(PreparedDataSourceQuery.java:190)
                        at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(Pre
                paredDataSourceQuery.java:178)
                        at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(Prepared
                OdaDSQuery.java:145)
                        at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.exec
                ute(DataRequestSessionImpl.java:616)
                        at org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask.ex
                ecuteQuery(GetParameterDefinitionTask.java:640)
                        at org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask.ge
                tResultSetForParameter(GetParameterDefinitionTask.java:1369)
                        at org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask.ge
                tChoicesFromParameterQuery(GetParameterDefinitionTask.java:1341)
                        at org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask.do
                GetSelectionList(GetParameterDefinitionTask.java:515)
                        at org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask.ge
                tSelectionList(GetParameterDefinitionTask.java:445)
                        at org.eclipse.birt.report.service.BirtViewerReportService.getParameterS
                electionList(BirtViewerReportService.java:821)
                        at org.eclipse.birt.report.presentation.aggregation.parameter.ComboBoxPa
               ............................
    org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:16
                65)
                        at java.lang.Thread.run(Thread.java:619)
                Cannot create JDBC driver of class '' for connect URL 'null'
                java.lang.NullPointerException
                        at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
                        at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
                        at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
                        at java.sql.DriverManager.getDriver(DriverManager.java:253)
                        at .................
                        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
                ispatcher.java:551)
                        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
                patcher.java:488)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .service(AbstractBaseFragment.java:82)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .callBack(AbstractBaseFragment.java:106)
                        at org.apache.jsp.webcontent.birt.pages.layout.SidebarFragment_jsp._jspS
                ervice(SidebarFragment_jsp.java:72)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
                .java:386)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
                13)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
                icationFilterChain.java:290)
                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
                ilterChain.java:206)
                        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
                atcher.java:646)
                        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
                ispatcher.java:551)
                        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
                patcher.java:488)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .service(AbstractBaseFragment.java:82)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .callBack(AbstractBaseFragment.java:106)
                        at org.apache.jsp.webcontent.birt.pages.layout.ReportFragment_jsp._jspSe
                rvice(ReportFragment_jsp.java:72)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
                .java:386)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
                13)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
                icationFilterChain.java:290)
                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
                ilterChain.java:206)
                        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
                atcher.java:646)
                        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
                ispatcher.java:551)
                        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
                patcher.java:488)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .service(AbstractBaseFragment.java:82)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .callBack(AbstractBaseFragment.java:106)
                        at org.apache.jsp.webcontent.birt.pages.layout.FramesetFragment_jsp._jsp
                Service(FramesetFragment_jsp.java:265)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
                .java:386)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
                13)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at ...................
                        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:16
                65)
                        at java.lang.Thread.run(Thread.java:619)
                Cannot create JDBC driver of class '' for connect URL 'null'
                java.lang.NullPointerException
                        at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
                        at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
                        at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
                        at java.sql.DriverManager.getDriver(DriverManager.java:253)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(B
                asicDataSource.java:1437)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
                aSource.java:1371)
                        at .............. org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask.do
                GetSelectionList(GetParameterDefinitionTask.java:515)
                        at org.eclipse.birt.report.engine.api.impl.GetParameterDefinitionTask.ge
                tSelectionList(GetParameterDefinitionTask.java:445)
                        at org.eclipse.birt.report.service.BirtViewerReportService.getParameterS
                electionList(BirtViewerReportService.java:821)
                        at org.eclipse.birt.report.presentation.aggregation.parameter.ComboBoxPa
                rameterFragment.prepareParameterBean(ComboBoxParameterFragment.java:91)
                        at org.eclipse.birt.report.presentation.aggregation.parameter.ScalarPara
                meterFragment.doService(ScalarParameterFragment.java:91)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .service(AbstractBaseFragment.java:76)
                        at org.apache.jsp.webcontent.birt.pages.dialog.ParameterDialogFragment_j
                sp._jspService(ParameterDialogFragment_jsp.java:109)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
                .java:386)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
                13)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
                icationFilterChain.java:290)
                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
                ilterChain.java:206)
                        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
                atcher.java:646)
                        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
                ispatcher.java:551)
                        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
                patcher.java:488)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .service(AbstractBaseFragment.java:82)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .callBack(AbstractBaseFragment.java:106)
                        at org.apache.jsp.webcontent.birt.pages.dialog.DialogContainerFragment_j
                sp._jspService(DialogContainerFragment_jsp.java:135)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
                .java:386)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
                13)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
                icationFilterChain.java:290)
                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
                ilterChain.java:206)
                        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
                atcher.java:646)
                        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
                ispatcher.java:551)
                        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
                patcher.java:488)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .service(AbstractBaseFragment.java:82)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .callBack(AbstractBaseFragment.java:106)
                        at org.apache.jsp.webcontent.birt.pages.layout.SidebarFragment_jsp._jspS
                ervice(SidebarFragment_jsp.java:72)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
                .java:386)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
                13)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
                icationFilterChain.java:290)
        ...........................
                        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:16
                65)
                        at java.lang.Thread.run(Thread.java:619)
                Cannot create JDBC driver of class '' for connect URL 'null'
                java.lang.NullPointerException
                        at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
                        at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
                        at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
                        at java.sql.DriverManager.getDriver(DriverManager.java:253)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(B
                asicDataSource.java:1437)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
                aSource.java:1371)
                        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSo
                urce.java:1044)
                        at org.eclipse.birt.report.data.oda.jdbc.JndiDataSource.getDataSourceCon
                nection(JndiDataSource.java:178)
                        at org.eclipse.birt.report.data.oda.jdbc.JndiDataSource.getConnection(Jn
                diDataSource.java:133)
                        at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getJndiDSConn
                ection(JDBCDriverManager.java:325)
                        at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDB
                CDriverManager.java:225)
                        at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection
                (JDBCDriverManager.java:212)
                        at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connect
                ion.java:237)
                        at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java
                :162)
                        at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.
                open(OdaConnection.java:250)
                        at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnec
                tion(ConnectionManager.java:165)
                        at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSo
                urce.java:224)
                        at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java
                :212)
                        ..........Some text
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
                ispatcher.java:551)
                        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
                patcher.java:488)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .service(AbstractBaseFragment.java:82)
                        at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment
                .callBack(AbstractBaseFragment.java:106)
                        at org.apache.jsp.webcontent.birt.pages.dialog.DialogContainerFragment_j
                sp._jspService(DialogContainerFragment_jsp.java:135)
                        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
                .java:386)
                        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
                13)
                        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
                icationFilterChain.java:290)
                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
                ilterChain.java:206)
                        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
                atcher.java:646)
                        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
                ispatcher.j
我配置了web.xml和context.xml文件,并将ojdbc14.jar文件复制到
webapps\birt\web-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.6.2.r262_v20110127\drivers
文件夹中

通过浏览器运行报告后,我遇到了这个问题。最初它显示的是进度条。但经过一段时间(30分钟)后,显示空白报告


我的查询可能需要一个小时才能执行。但30分钟后报告显示空白。问题出在哪里?

这听起来可能与某种会话超时有关。我相信Tomcat的默认会话超时设置为30分钟。我相信此设置在web.xml文件中。

这听起来可能与某种会话超时有关。我相信Tomcat的默认会话超时设置为30分钟。我相信此设置在web.xml文件中。

您是否可以发布context.xml和web.xml片段,定义数据库连接(当然,“匿名化”它们:)以及与连接对应的报表xml片段?您是否可以发布context.xml和web.xml片段,定义数据库连接(当然,“匿名化”它们:))和对应于连接的报告xml片段?