首页 > 解决方案 > java.sql.SQLException PWS0005 数据库中发生错误的含义

问题描述

启动 Web 面板并获取 PSW005 时出现随机问题。此错误是随机的,因为可以执行相同的操作而不会出错。即使发送了日志,IBM 也帮不上什么忙。有没有人遇到过这个错误?

我们使用 IBM iSeries (AS/400) 作为数据库服务器在 Tomcat 9.0 上运行。该系统已用 Java 重写,以取代传统的“绿屏”系统。

2018 年 12 月 21 日 13:11:16.781 严重 [https-jsse-nio-8443-exec-24] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [gpweb.wwelcome] 在上下文中路径 [/gpweb] 抛出异常 [java.lang.ClassCastException: com.genexus.db.driver.DataSourceConnectionPool 无法在 com.genexus.db.driver.DataSource.disconnectOnException(DataSource) 中转换为 com.genexus.db.driver.ConnectionPool .java:442) 在 com.genexus.db.ServerUserInformation.disconnectOnException(ServerUserInformation.java:83) 在 com.genexus.db.DBConnectionManager.disconnectOnException(DBConnectionManager.java:255) 在 com.genexus.Application.GXLocalException(Application. java:588) 在 com.genexus.Application.GXLocalException(Application.java:577) 在 com.genexus.Application.GXLocalException(Application.java:572) 在 com.genexus.Application。rollback(Application.java:930) 在 com.genexus.Application.rollback(Application.java:868) 在 com.genexus.db.DefaultExceptionErrorHandler.handleSQLError(DefaultExceptionErrorHandler.java:45) 在 com.genexus.db.DataStoreProvider.execute (DataStoreProvider.java:233) 在 com.genexus.db.DataStoreProvider.execute(DataStoreProvider.java:200) 在 com.genexus.db.DataStoreProvider.execute(DataStoreProvider.java:192) 在 gpweb.mambosettingstoplink.privateExecute(mambosettingstoplink. java:61) at gpweb.mambosettingstoplink.execute_int(mambosettingstoplink.java:54) at gpweb.mambosettingstoplink.execute(mambosettingstoplink.java:43) at gpweb.amambobuildnavbartoplinks.privateExecute(amambobuildnavbartoplinks.java:101) at gpweb.amambobuildnavbartoplinks.execute_int( amambobuildnavbartoplinks.java:90) 在 gpweb。amambobuildnavbartoplinks.execute(amambobuildnavbartoplinks.java:76) at gpweb.mambobuildnavbartoplinks.execute_int(mambobuildnavbartoplinks.java:79) at gpweb.mambobuildnavbartoplinks.execute(mambobuildnavbartoplinks.java:69) at gpweb.mambomasterpage_impl.e130B2(mambomasterpage_impl.java:64) gpweb.mambomasterpage_impl.rf0B2(mambomasterpage_impl.java:524) 在 gpweb.mambomasterpage_impl.refresh(mambomasterpage_impl.java:502) 在 gpweb.mambomasterpage_impl.we0B2(mambomasterpage_impl.java:448) 在 gpweb.mambomasterpage_impl.webExecute(mambomasterpage_impl.java:59) ) 在 gpweb.wwelcome_impl.webExecute(wwelcome_impl.java:118) 在 com.genexus.webpanels.GXWebPanel.webExecuteEx(GXWebPanel.java:358) 在 com.genexus.webpanels.GXWebPanel.doExecute(GXWebPanel.java:373) 在 gpweb .wwelcome.doExecute(wwelcome.java:23) 在 com.genexus.webpanels.GXWebObjectStub.callDoExecute(GXWebObjectStub.java:228) 在 com.genexus.webpanels.GXWebObjectStub.callExecute(GXWebObjectStub.java:137) 在 com.genexus.webpanels.GXWebObjectStub.doGet(GXWebObjectStub.java :44) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:634) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:231) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 在 org.apache .catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 com.genexus.filters.ExpiresFilter.doFilter(ExpiresFilter.java:1240) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain .doFilter(ApplicationFilterChain.java:166) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 在 org. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 中的 apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve. java:81) 在 org.apache.catalina.core 的 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)。StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:417) at org .apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun (NioEndpoint.java:1376) 在 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 在 java.util.concurrent.ThreadPoolExecutor $Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread。run(Unknown Source) ] 根本原因 javax.servlet.ServletException: java.lang.ClassCastException: com.genexus.db.driver.DataSourceConnectionPool 不能转换为 com.genexus.db 的 com.genexus.db.driver.ConnectionPool。 driver.DataSource.disconnectOnException(DataSource.java:442) at com.genexus.db.ServerUserInformation.disconnectOnException(ServerUserInformation.java:83) at com.genexus.db.DBConnectionManager.disconnectOnException(DBConnectionManager.java:255) at com.genexus .Application.GXLocalException(Application.java:588) at com.genexus.Application.GXLocalException(Application.java:577) at com.genexus.Application.GXLocalException(Application.java:572) at com.genexus.Application.rollback( Application.java:930) 在 com.genexus.Application.rollback(Application.java:868) 在 com.genexus.db。DefaultExceptionErrorHandler.handleSQLError(DefaultExceptionErrorHandler.java:45) at com.genexus.db.DataStoreProvider.execute(DataStoreProvider.java:233) at com.genexus.db.DataStoreProvider.execute(DataStoreProvider.java:200) at com.genexus.db .DataStoreProvider.execute(DataStoreProvider.java:192) 在 gpweb.mambosettingstoplink.privateExecute(mambosettingstoplink.java:61) 在 gpweb.mambosettingstoplink.execute_int(mambosettingstoplink.java:54) 在 gpweb.mambosettingstoplink.execute(mambosettingstoplink.java:43)在 gpweb.amambobuildnavbartoplinks.privateExecute(amambobuildnavbartoplinks.java:101) 在 gpweb.amambobuildnavbartoplinks.execute_int(amambobuildnavbartoplinks.java:90) 在 gpweb.amambobuildnavbartoplinks.execute(amambobuildnavbartoplinks.java:76) 在 gpweb.mambobuildnavbartoplinks。execute_int(mambobuildnavbartoplinks.java:79) 在 gpweb.mambobuildnavbartoplinks.execute(mambobuildnavbartoplinks.java:69) 在 gpweb.mambomasterpage_impl.e130B2(mambomasterpage_impl.java:645) 在 gpweb.mambomasterpage_impl.rf0B2(mambomasterpage_impl.java:524) 在 gpweb。 mambomasterpage_impl.refresh(mambomasterpage_impl.java:502) 在 gpweb.mambomasterpage_impl.we0B2(mambomasterpage_impl.java:448) 在 gpweb.mambomasterpage_impl.webExecute(mambomasterpage_impl.java:59) 在 gpweb.wwelcome_impl.webExecute(wwelcome_impl.java:118) 在com.genexus.webpanels.GXWebPanel.webExecuteEx(GXWebPanel.java:358) 在 com.genexus.webpanels.GXWebPanel.doExecute(GXWebPanel.java:373) 在 gpweb.wwelcome.doExecute(wwelcome.java:23) 在 com.genexus .webpanels.GXWebObjectStub.callDoExecute(GXWebObjectStub.java:228) 在 com.genexus.webpanels。GXWebObjectStub.callExecute(GXWebObjectStub.java:137) 在 com.genexus.webpanels.GXWebObjectStub.doGet(GXWebObjectStub.java:44) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:634) 在 javax.servlet.http .HttpServlet.service(HttpServlet.java:741) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain。 doFilter(ApplicationFilterChain.java:166) 在 com.genexus.filters.ExpiresFilter.doFilter(ExpiresFilter.java:1240) 在 org.apache.catalina.core。ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org .apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve .java:140) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651) 在 org.apache.catalina 的 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)。 core.StandardEngineValve.invoke(StandardEngineValve.java:87) 在 org.apache.catalina.connector.CoyoteAdapter。服务(CoyoteAdapter.java:342)在 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:417) 在 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在 org.apache.coyote .AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376) at org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$ WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)417) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754) 在 org.apache.tomcat.util.net.NioEndpoint 上$SocketProcessor.doRun(NioEndpoint.java:1376) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util .concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)417) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754) 在 org.apache.tomcat.util.net.NioEndpoint 上$SocketProcessor.doRun(NioEndpoint.java:1376) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util .concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

at com.genexus.webpanels.GXWebObjectStub.callExecute(GXWebObjectStub.java:221)
at com.genexus.webpanels.GXWebObjectStub.doGet(GXWebObjectStub.java:44)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.genexus.filters.ExpiresFilter.doFilter(ExpiresFilter.java:1240)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:417)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

标签: javasqltomcatservletsgenexus

解决方案


不是答案,而是评论部分不适合的评论。

com.genexus.db.driver.DataSourceConnectionPool 无法转换为 com.genexus.db.driver.ConnectionPool 在

这看起来很像配置问题。Genexus 似乎在尝试使用自己的数据库连接池,但由于某种原因它无法处理内部类com.genexus.db.driver.DataSourceConnectionPool

你应该检查:

  • Genexus 数据库连接池的版本是否正确?
  • JDBC 驱动程序是否适用于您尝试使用的 Java 版本和 Tomcat 版本?
  • 您是否使用与开发相同的 Genexus、Tomcat、JDBC 驱动程序和数据库连接池进行部署?

基础设施肯定有问题。如有必要,请从头开始重新安装 Tomcat,注意添加到其中的每个额外库以及每项额外配置。

这不太可能是 Tomcat 上的错误。更像是服务器设置或您正在部署的 WAR 文件中的错误。


推荐阅读