初学SSH,请大家帮忙!我在网上一直没找到解决办法,自己尝试了换JAR包版本,换数据库,等都不成功,但我换成org.apache.commons.dbcp.BasicDataSource这个数据源就一切正常,我的配置信息如下:<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:HUDYJZH"/>
<property name="user" value="DDTREETEST"/>
<property name="password" value="DDTREE"/>
<property name="autoCommitOnClose" value="true"/>
<property name="minPoolSize" value="5"/>
<property name="maxPoolSize" value="15"/>
<property name="initialPoolSize" value="5"/>
<property name="maxIdleTime" value="1800"/>
<property name="acquireIncrement" value="5"/>
<property name="acquireRetryAttempts" value="15"/>
<property name="checkoutTimeout" value="15000"/>
</bean>
异常信息如下:
Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; An attempt by a client to checkout a Connection has timed out.; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
Caused by: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:527)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:298)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:110)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:88)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1162)
at org.hibernate.loader.Loader.doQuery(Loader.java:390)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
at org.hibernate.loader.Loader.list(Loader.java:1577)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.hudy.jzh.frame.util.HbnDaoSupport$3.doInHibernate(HbnDaoSupport.java:39)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:342)
at com.hudy.jzh.frame.util.HbnDaoSupport.findAll(HbnDaoSupport.java:37)
at com.hudy.jzh.frame.dao.impl.PowerInfoDaoImpl.findInitPage(PowerInfoDaoImpl.java:47)
at com.hudy.jzh.frame.serv.impl.LoginServImpl.initView(LoginServImpl.java:26)
at com.hudy.jzh.frame.test.Test.main(Test.java:24)
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@de1b8a -- timeout at awaitAvailable()
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1317)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
... 21 more

解决方案 »

  1.   

    你用pl/sql根据你这个链接和用户登陆下看登陆得起不,不知道你oracle的相关服务是否启动了。。
      

  2.   

    数据库是能登录上的,没有问题,我换成
    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="oracle.jdbc.driver.OracleDriver">
    </property>
    <property name="url"
    value="jdbc:oracle:thin:@127.0.0.1:1521:HUDYJZH">
    </property>
    <property name="username" value="DDTREETEST"></property>
    <property name="password" value="DDTREE"></property>
    </bean>
    这样配置的数据源是没有问题的,运行一切正常!谢谢大家快帮忙哟
      

  3.   

    我用这个配置方法,用在SQL Server数据库,JDBC连接数据库是没问题的,是不是配置文件的问题,与Hibernate集成还用其它的配置吗?谢谢楼上回复,我换一下驱动包试试
      

  4.   

    问题解决了,换了个OJDBC14.jar包,谢谢tjgtgq003!