org.hibernate.exception.JDBCConnectionException: Cannot open connection

wang_j_p 2008-03-29 08:48:10
连接数据库MySql, 经常出现以下错误, 但网页一般刷新几次后,又连接上数据库,可正常显示了.
以前没有出现过这种情况, 我在自己的电脑上调试时, 也没出现. 我的数据库连接配置文件是:
WEB-INF/classes/hibernate.cfg.xml, c3p0的连接池,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="kh_session">
<!-- mysql connection -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- jdbc:mysql://localhost/kh -->
<property name="hibernate.connection.url">
jdbc:mysql://www.070707zx.com/mydb
</property>
<property name="hibernate.connection.username">myname</property>
<property name="hibernate.connection.password">mypassword</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="show_sql">false</property>


<!-- C3P0 Connection Pool -->
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">50</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">5000</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.maxIdleTime">1800</property >
<property name="hibernate.c3p0.validate">true</property>
<property name="hibernate.c3p0.preferredTestQuery">SELECT id FROM test WHERE id=1</property>


<mapping resource="kh3.hbm.xml" />
</session-factory>
</hibernate-configuration>


-----------------------------------------------------------------------------

下面是错误信息
--------------------------------------------------------------------------------


HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

descript_ion The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Cannot open connection
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.util.UrlFilter.doFilter(UrlFilter.java:64)
com.util.EncodingFilter.doFilter(EncodingFilter.java:114)


root cause

org.hibernate.exception.JDBCConnectionException: Cannot open connection
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
org.hibernate.loader.Loader.doQuery(Loader.java:673)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
org.hibernate.loader.Loader.doList(Loader.java:2220)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
org.hibernate.loader.Loader.list(Loader.java:2099)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
com.util.DBHelper.getQueryList(DBHelper.java:34)
com.mykh.YmcsHelper.getYmcs(YmcsHelper.java:29)
org.apache.jsp.index_jsp._jspService(index_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.util.UrlFilter.doFilter(UrlFilter.java:64)
com.util.EncodingFilter.doFilter(EncodingFilter.java:114)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

----------------------------------------------------------------------
请大家帮我看看
...全文
4654 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
binge520cn 2012-03-05
  • 打赏
  • 举报
回复
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open connection
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:599)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy0.findAllS(Unknown Source)
cn.com.action.StudentAction.findAllS(StudentAction.java:131)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)

org.hibernate.exception.JDBCConnectionException: Cannot open connection
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:558)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy0.findAllS(Unknown Source)
cn.com.action.StudentAction.findAllS(StudentAction.java:131)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
风吹雨碎 2011-01-20
  • 打赏
  • 举报
回复
我也碰到了这个问题,不过我已经确定是网络的问题了
artillery007 2008-11-27
  • 打赏
  • 举报
回复
同问啊~~~
lixq2000 2008-06-24
  • 打赏
  • 举报
回复
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.看看还有什么错误信息!
比如说root cause等等!
ben_java 2008-06-24
  • 打赏
  • 举报
回复
我也遇到了同样的问题!本地和服务器都是这样,总是报无连接或session is closed!再刷新几次就好了,我觉得如果是配置文件有问题那应该一次都不成功才对!有成功的情况,而且有时报错应该是连接池的问题吧,到现在我的问题也没解决,困扰我一个多月了!一直在不停的找解决方法。proxool等第三方连接池也都用过了,仍然没有解决。希望高人看到这帖子能给个解决方案啊!陪楼主一起等。
wang_j_p 2008-04-14
  • 打赏
  • 举报
回复
org.gjt.mm.mysql.Driver 试过不行,大侠们就不能帮帮忙吗?

对这个问题,我都要气疯了!!!

wang_j_p 2008-04-08
  • 打赏
  • 举报
回复
可我在本地测试都是好的, 本地xp下 测试我已经连续运行了几天, 一切正常
henry1451 2008-04-07
  • 打赏
  • 举报
回复
我用的驱动版本是mysql-connector-java-5.0.7, 应该是最新的了
===============================
那你这里<driver-class>
com.mysql.jdbc.Driver
</driver-class>
也要换下,org.gjt.mm.mysql.Driver,试试.
kokobox 2008-04-06
  • 打赏
  • 举报
回复
是不是连接池的问题呢
wang_j_p 2008-04-06
  • 打赏
  • 举报
回复
web server 是:Tomcat5.0.28
数据库是 mysql 5.0

难到大家就没有见过这种情况吗.
wang_j_p 2008-04-01
  • 打赏
  • 举报
回复
那以前我上传到web服务器上后没有这个问题, 而现在却有.
即使连接上以后,在使用中还是偶尔有上面的错误提示.
后来我又使用了proxool连接池, 但还是有上面的错误提示, proxool连接配置如下:
<?xml version="1.0" encoding="UTF-8" ?>

<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->

<something-else-entirely>
<proxool>
<alias>myPool</alias>
<driver-url>
jdbc:mysql://www.070707zx.com/mydb
</driver-url>
<driver-class>
com.mysql.jdbc.Driver
</driver-class>

<driver-properties>
<property name="user" value="myusername"/>
<property name="password" value="mypassword"/>
</driver-properties>

<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>5</minimum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>

这是照着网上的文章直接写的.还是有错误.请大家快救我啊!
yuanjianbin 2008-03-31
  • 打赏
  • 举报
回复
jdbc:mysql://www.070707zx.com/mydb
看你的这个写法,好象你的数据库并不是本地的。

但网页一般刷新几次后,又连接上数据库,可正常显示了
综合以上两点,我觉得你这个可能是连接的网络数据库。很有可能跟你WEB应用服务器和数据库服务器间的连接有关系。

如果这种情况只是在hibernate被初次调用的时候才出现的话,也没什么大惊小怪的。那是因为hibernate还在连接数据库,有个时间过程,连接网络数据库是有这个问题。连接本地数据库或局域网数据库会好一些。
yuanjianbin 2008-03-31
  • 打赏
  • 举报
回复
jdbc:mysql://www.070707zx.com/mydb
看你的这个写法,好象你的数据库并不是本地的。

但网页一般刷新几次后,又连接上数据库,可正常显示了
综合以上两点,我觉得你这个可能是连接的网络数据库。很有可能跟你WEB应用服务器和数据库服务器间的连接有关系。

如果这种情况只是在hibernate被初次调用的时候才出现的话,也没什么大惊小怪的。那是因为hibernate还在连接数据库,有个时间过程,连接网络数据库是有这个问题。连接本地数据库或局域网数据库会好一些。
yuanjianbin 2008-03-31
  • 打赏
  • 举报
回复
jdbc:mysql://www.070707zx.com/mydb
看你的这个写法,好象你的数据库并不是本地的。

但网页一般刷新几次后,又连接上数据库,可正常显示了
综合以上两点,我觉得你这个可能是连接的网络数据库。很有可能跟你WEB应用服务器和数据库服务器间的连接有关系。

如果这种情况只是在hibernate被初次调用的时候才出现的话,也没什么大惊小怪的。那是因为hibernate还在连接数据库,有个时间过程,连接网络数据库是有这个问题。连接本地数据库或局域网数据库会好一些。
longshenls 2008-03-31
  • 打赏
  • 举报
回复
而且你端口都不用的吗 连数据库
longshenls 2008-03-31
  • 打赏
  • 举报
回复
一般是jdbc:mysql://localhost:3306/mydb
localhost就是你自己电脑的意思
www.070707zx.com是个什么网站吗?
wang_j_p 2008-03-31
  • 打赏
  • 举报
回复
而且我以前都是好的, 没有出现连不上的情况.真是郁闷!
longshenls 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 AWUSOFT 的回复:]
确定jdbc:mysql://www.070707zx.com/mydb这样可以访问吗?有没有这个权限呢?
[/Quote]
这还真的感觉蛮怪的勒
wang_j_p 2008-03-31
  • 打赏
  • 举报
回复
我用的驱动版本是mysql-connector-java-5.0.7, 应该是最新的了
nanjg 2008-03-31
  • 打赏
  • 举报
回复
驱动版本升下级
加载更多回复(3)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧