c3p0链接mysql错误提示

tngou 发布于 2012/11/13 20:36
阅读 5K+
收藏 0

Linux基金会免费官方培训及考试申请即将截止,戳这里申请!>>>

起初我把c3P0的最大连接池 和时间配置如下:

jdbc.maxPoolSize=50
jdbc.checkoutTimeout=5000

提示如下错误:

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)

后来我把jdbc.checkoutTimeout=50000 时间加长

提示如下的错误:

警告: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@820846 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: 
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:264)

是mysql.jar版本不对还是什么呀,

我在项目中调试能链上数据库,也可以使用,但发布成web就不行了why

以下是问题补充:

@tngou:问题解决了,由于没有加载mysql驱动 添加Class.forName(com.mysql.jdbc.Driver); 就好了, 但我用的C3P0它应该会自动加载配置文件里面的吧。 直接用main中运行,不需要另外的加驱动。但发布到web中运行就必须加mysql驱动。 所有就只要先添加驱动,能解决问题,但原因不清楚。 (2012/11/14 12:54)
加载中
0
皮皮蟹
皮皮蟹

贴出完整的配置和错误信息。可能原因有三个:
1、驱动版本与数据库不匹配
2、写错了驱动类的名字
3、写错了数据库连接url

tngou
tngou
但我直接用main可以使用,但发布到web中servlet调用运行就不行了
0
Cavalier
Cavalier
应该是url
0
wenshao
wenshao

Druid会自动识别driverClass的。推荐使用阿里巴巴开源的数据库连接池Druid。性能比BoneCP好,功能更齐全,经过大规模的部署,更稳定。https://github.com/AlibabaTech/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98


tngou
tngou
有时不是我说了算,,呵呵
返回顶部
顶部