spring 配置数据源时出错

maodie007 2008-01-16 11:34:28
配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<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:@192.168.1.203:1521:ora9i"/>
<property name="user" value="bookweb"/>
<property name="password" value="bookweb"/>
<property name="acquireIncrement"><value>5</value></property>
<property name="idleConnectionTestPeriod"><value>3000</value></property>
<property name="checkoutTimeout"><value>3000</value></property>
<property name="maxPoolSize"><value>80</value></property>
<property name="minPoolSize"><value>1</value></property>
<property name="maxStatements"><value>6000</value></property>
<property name="initialPoolSize"><value>5</value></property>
</bean>


</beans>

当尝试去取得Connection时会出现下面的错误,不知道为何,请高手指点,谢谢了哈!

//这里还有错误,和下面的一样,因为是重复尝试连接
//...
DEBUG [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] (BasicResourcePool.java:1831) - An exception occurred while acquiring a poolable resource. Will retry.
java.sql.SQLException: 不支持的特性
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689)
at oracle.jdbc.driver.OracleConnection.getHoldability(OracleConnection.java:3085)
at com.mchange.v2.c3p0.impl.NewPooledConnection.<init>(NewPooledConnection.java:106)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:198)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
DEBUG [main] (SqlUtils.java:99) - Converting Throwable to SQLException...
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@149f041 -- 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)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at com.maodie.spring.dataSource.main(dataSource.java:20)
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 com.maodie.spring.dataSource.main(dataSource.java:20)
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@149f041 -- 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)
... 2 more
...全文
1952 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
btchen 2011-06-24
  • 打赏
  • 举报
回复
ojdbc14.jar
maodie007 2008-01-16
  • 打赏
  • 举报
回复
不知道3楼所说的jar包是什么,所以吧oracle目录下的那个jdbc文件夹中的所有jar包都加载到工程中了,错误依旧发生!
maodie007 2008-01-16
  • 打赏
  • 举报
回复
纯JDBC绝对可以(小项目都做了2个了),jar包我也导入了,如果没导入我会帖出错误信息的,所有的错误信息就在这里!
如果配置改为这种类型,可以正常获得连接

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"><value>oracle.jdbc.driver.OracleDriver</value></property>
<property name="url"><value>jdbc:oracle:thin:@192.168.1.203:1521:ora9i</value></property>
<property name="username"><value>bookweb</value></property>
<property name="password"><value>bookweb</value></property>
<property name="maxActive"><value>80</value></property>
<property name="maxIdle"><value>20</value></property>
<property name="maxWait"><value>3000</value></property>

</bean>

谢谢各位了
yuanqingfei 2008-01-16
  • 打赏
  • 举报
回复
C3P0的数据连接池没有脸上数据库。。。先用纯JDBC测试一下。。找原因。
aguai0 2008-01-16
  • 打赏
  • 举报
回复
oracle 需要导入两个jar包进去 才行 。具体那两个好久不用 不太记得 你可以查下
maodie007 2008-01-16
  • 打赏
  • 举报
回复
自己先顶一下
goodmrning 2008-01-16
  • 打赏
  • 举报
回复
关注

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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