有时我得到
> java.sql.SQLException: Could not get a valid Connectionexception
当我的网络应用程序尝试连接数据库时。我正在使用 JDBC、准备语句并作为服务器 Apache Tomcat 6。此错误仅在我重新启动 Apache 服务器时消失。谁能告诉我这个异常的原因是什么,我该如何解决?。我确定凭据是正确的。
这是完整的日志:
> Couldn't connect to database with following credentials : jdbc:oracle:thin:@129.1.2.163:1522:TAPPROD/CRANE_TP
java.sql.SQLException: Could not get a valid Connection...
at UtilityPack.DBPack.ConnCacheBean.getPoolConnection(ConnCacheBean.java:203)
at UtilityPack.DBPack.ConnCacheBean.getConnection(ConnCacheBean.java:217)
at UtilityPack.DBPack.SessionStruct.getNewConnection(SessionStruct.java:881)
at CraneInfra.JSPReceiver.beforePreprocessPage(JSPReceiver.java:147)
at JSPManager.HAPJSPReceiver.preProcessPage(HAPJSPReceiver.java:424)
at org.apache.jsp.CraneDesktop.Login_jsp._jspService(Login_jsp.java:91)
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:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
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(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
检查连接 URL。您可以使用如下所示的完全限定 URL。jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=servicename)))
您还可以使用 EasyConnect URL 进行测试,如下所示。=jdbc:oracle:thin:HR/hr@//localhost:1521/myservicename
我们建议使用完全限定的 URL 而不是简单的连接 URL。
Tôi là một lập trình viên xuất sắc, rất giỏi!