java - 无法使用以下凭据连接到数据库 :jdbc:oracle:thin@:smthing

标签 java oracle tomcat jdbc

有时我得到

>  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。

关于java - 无法使用以下凭据连接到数据库 :jdbc:oracle:thin@:smthing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31988139/

相关文章:

java - 如果调用位于 try/catch block 中并且该方法也抛出异常,那么 catch 是否具有优先级?

java - 安全地包装连接池

sql - Oracle SQL如何获取按列分组以及其他选定的列

java - 任务在服务器上运行时 HTTP 请求超时

java - toJSONString() 未为 JSONObject 类型定义

java - ConcurrentModificationException java.util.ArrayList$Itr.next

java - 如何在Java中对不同数字的字符串进行正确排序?

oracle - Perl 和 DBD::Oracle - 可获取多少行?缓存中的行?

java - 尽管保留了所有内容,但无法使用 log4j 生成日志文件

java - servlet 链过滤器