关于使用dbcp1.4出现的No suitable driver异常的问题!

数据库 waitig 363℃ 百度已收录 0评论

在转载上一篇博文中,我发现将数据库放在jre的ext目录中可以解决这个异常。

但是这样并不能消除我的疑问,为什么要把驱动包放在那里才能正常运行呢?阅读了论坛的很多帖子我发现凡是关于这个问题的帖子必有关于jvm类加载机制的说法。但对于这种很抽象的东西确实说出来令人感到费解。但是所幸的是,问题是解决了,大家也不必纠结原理了。

对于项目的异常问题我做了很多的实验:

比如:

使用c3p0连接池,未发现异常

使用纯jdbc未发现异常

使用dbcp1.4,在tomcat环境下,发现No suitable driver异常。(将驱动包放在jre目录中,异常消失。使用java application运行无异常)。

通过以上测试我想起了以前学到的知识,不管驱动包是否是老版本还是旧版本,我们最好使用Class.forName("com.mysql.jdbc.Driver");来手动加载驱动类。

在加上这句代码后,再次测试,异常消失。

所以得出以下结论:

dbcp1.4存在以下缺陷,在web工程中需要手动加载驱动类。也就是在获得数据库连接的前面的代码中最好加上一句Class.forName("com.mysql.jdbc.Driver")。


本文由【waitig】发表在等英博客
本文固定链接:关于使用dbcp1.4出现的No suitable driver异常的问题!
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)