当前位置: 首页 > 知识库问答 >
问题:

无法连接到具有以下凭据的数据库:jdbc: oracle:瘦@: smking

锺博耘
2023-03-14

有时我得到

>  java.sql.SQLException: Could not get a valid Connectionexception 

当我的Web应用程序尝试连接数据库时。我正在使用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)

共有3个答案

应和悦
2023-03-14

您在连接池中配置的连接太少,或者您没有释放/关闭连接。

执行准备好的语句后,尝试关闭连接

 <<yourConnection>>.close();
栾烨华
2023-03-14

问题很可能是连接池的配置方式。可能是连接很少、连接未释放或僵尸连接。(我想这就是他们的名字。)

查看Tomcat关于如何指定此类设置的文档。这是一个每次都会定制的主题,所以很可能是你的最佳选择。

刘元青
2023-03-14

检查连接URL。您可以使用完全限定的URL,如下所示。jdbc:oracle:thin:@(描述=(地址\u列表=(地址=(协议=tcp)(主机=本地主机)(端口=1521)))(连接\u数据=(服务\u名称=服务名称)))

您还可以使用EasyConnect URL进行测试,如下所示=jdbc:oracle:thin:HR/HR@//localhost:1521/myservicename

我们建议使用完全限定的URL,而不是容易连接的URL。

 类似资料:
  • 我一直在努力使用数据库URL概述部分提到的以下连接字符串从Spring Boot应用程序连接H2数据库: 我还尝试了许多不同的tcp(服务器模式)连接组合,但仍然出现错误,例如“连接中断:”java。网运行Spring Boot app时,SocketTimeoutException:连接超时:localhost:9092”。 那么,如何解决这个问题并通过服务器模式连接到H2数据库呢?

  • 问题内容: 所以我在用Java连接MySQL时遇到问题。这是我的代码: 我得到的错误是线程“ main”中的异常 http://postimg.org/image/593stjvjx/ 在mySQL工作台中,我的连接名是“ worlddb”,主机名是Liquidus(是本地主机) 套接字是MySQL 端口:3306 为什么是这样? 问题答案: 图片中的模式与连接的名称和Database,try w

  • 我正在尝试学习jsp页面中的数据库连接。下面是我的代码: 这是我的servlet: 下面是我的dbConnect类: 问题是,在connect()函数中,当涉及行class.forName(“com.mysql.jdbc.driver”)时。newInstance();它会产生一个错误并进入catch块。这里出了什么问题,有人能帮忙吗?多谢了。 编辑:我按照Nambari说的做了,现在我在行con

  • 问题内容: 这是我简单的测试脚本。只是试图做一个基本的选择语句。在教程中找到了基本知识。 经过一个小时的搜索并尝试了一些解决方案,我比开始时就更接近解决问题了。希望我在某个地方犯了一个简单的错误,但我找不到它… 这是我遇到的错误 任何帮助将非常感激! 问题答案: 如果未在URL中指定,则该方言的默认驱动程序将为“ SQL Server” [1]。这意味着您需要在/etc/unixODBC/odbc

  • 我已经把学校的IT项目带回家完成,虽然我可以在学校连接到我的数据库,但我不能在我自己的电脑上连接到它。我更改了数据库类中的目录,并且几乎100%确定该目录是正确的。它总是给我这样的错误: 驱动程序成功加载无法连接:[Microsoft][ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序java.sql.sqlException:[Microsoft][ODBC驱动程序管理器]未找到数据

  • 2012年12月19日下午7:26:55 DBConnect严重:null java.sql.sqlexception:[Microsoft][ODBC Driver Manager]未找到数据源名称,也未在sun.jdbc.ODBC.jdbc.ddc.createsqlexception(jdbcodbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.