java.sql.SQLException: No suitable driver found for jdbc
前几天在使用一些组件的时候遇到了这个报错:java.sql.SQLException: No suitable driver found for jdbc:XXX,之后上网搜了一个方法解决了,可为什么能如此解决则在这里记录一下:
一、网上搜索的解决方案
《No Suitable Driver Found For Jdbc_我的解决方法》
文中的解决办法是在jre\lib\ext上添加驱动jar包,问题解决;
但是解释就不是作者所说的需要把jar包放在外部jar包环境中。其根本原因是:程序没有加载驱动jar包;
当程序没有加载驱动包,就运行DriverManager.getConnection(url,usr,psd),就会报这个错误:
No suitable driver found for jdbc:XXX
这里缺少了Class.forName()导致的,当我按照前面的解决办法,把驱动包放在jre\lib\ext上的时候,同样能够解决问题:
显然易见:出现No suitable driver found for jdbc这个报错的原因是程序没有加载驱动程序jar包,尽管在lib上已经包含了这个jar包。
二、关于类加载器
网上关于类加载器的资料:
类加载时采用的树形的委托机制,默认有三个类加载器:
1、Bootstrap Class Loader:加载jre/lib/rt.jar;在树的根节点
2、Extension Class Loader:加载jre/lib/ext/*.jar;
3、System Class Loader:加载classpath指定的jar或者目录;
他们的加载顺序是:先bootstrap加载,然后extension加载,最后system加载。
加载策略:向上委托策略,低级别类加载器(L)的要加载类,先由最高级别的类加载器先加载,若加载不成功则层层向下传递,直到该类加载器(L)也加载不了则报错。
一篇关于JVM类加载机制的文章;
在本文中,Class.forName()的类加载器就是调用者的类加载器,总之,只要能把驱动jar包加载上去就可以解决问题了,无论在哪里加载这个jar包。
三、参考资料
1、《No Suitable Driver Found For Jdbc_我的解决方法》
2、《No suitable driver found for jdbc:XXX》
3、《Java 如果将JAR文件放入jre/lib/ext目录中,会遇到什么麻烦?》
4、《JVM类加载机制》
转载于:https://www.cnblogs.com/cheuk-kwan/p/5300273.html
java.sql.SQLException: No suitable driver found for jdbc相关推荐
- 问题解决:java.sql.SQLException: No suitable driver found for jdbc:mysql
文章目录 问题场景 问题环境 问题原因 1. 没有引入mysql驱动jar 2. JDK版本与mysql驱动版本有冲突 解决方案 结果 总结 参考链接 随缘求赞 问题场景 Java项目运行过程中,调用 ...
- java.sql.SQLException: No suitable driver found for jdbc...
java.sql.SQLException: No suitable driver found for jdbc- 解决办法:尝试着将mysql-connector-java-xxx.jar的jar包 ...
- java.sql.SQLException: No suitable driver found for “jdbc:mysql://localhost:3306/db1“;
操作jdbc出现 java.sql.SQLException: No suitable driver found for "jdbc:mysql://localhost:3306/db1&q ...
- 关于java.sql.SQLException: No suitable driver found for jdbc:mysql:
java.sql.SQLException: No suitable driver found for jdbc:mysql://192.168.0.110:3309/man?auotReconnec ...
- 连接数据库出错:java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
连接数据库出错 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/ 今天在做Java we ...
- java.sql.SQLException: No suitable driver found for jdbc:mysql
1.把mysql-connector-java-5.1.35-bin.jar 放到 私有仓库maven,或者放到 Build path , 2.把mysql-connector-java-5.1.35 ...
- 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No suitable driver found for xxxx 错误
参考文章: yanbin.blog - 自定义类加载器动态加载 JDBC 驱动 项目场景: 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No ...
- Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource.
记录java Mybatis框架学习过程中遇到的问题 1.搭建第一个mybatis项目的时候发生异常: Exception in thread "main" org.apache. ...
- 运行mybatis时显示报错:Error updating database. Cause: java.sql.SQLException: Error setting driver on
在运行mybatis测试类的时候,结果报错; Error updating database. Cause: java.sql.SQLException: Error setting driver o ...
最新文章
- 物理生力热实验不确定度计算源代码
- Centos7/RedHat7 下 python3使用cx-freeze打包matplotlib程序遇到的问题和解决办法
- spring-servlet.xml与applicationContext.xml
- b^3 - a^3 = c
- 【spring cloud zookeeper】KeeperErrorCode = Unimplemented for
- 启动Tomcat 7一闪而过的问题
- linux:tomcat写入文件失败
- (88)Verilog HDL系统函数和任务:$fdisplay
- Nginx 日志配置实践
- [翻译] RAReorderableLayout
- 老大加需求:做一个支持超大文件HTTP断点续传的上传服务,我懵逼了~
- linux终端黑绿字配色方案注意事项
- java 文件流 追加_JAVA向文件中追加内容(转)
- EViews8.0程序安装及注意事项
- 联众打码平台接口调用(初版)
- 银联在线java接口开发_银联在线Java接口开发
- 战狼2影评-20170807
- mysql中ai是什么意思_MySQL explain用法
- 从产业互联网的角度,解读360智慧商业发布“春雨计划”
- 让IE6,IE7,IE8共存
热门文章
- PDF文件怎么拆分?看完就会了!
- CVPR 2020 | 旷视研究院提出数据不确定性算法 DUL,优化人脸识别性能
- Phonetic symbol 辅音 - 清辅音 -- /k/
- 虚幻蓝图数据传递_数据产品的战略蓝图
- intellij idea处理xml文件File encoding is disabled,Encoding is hard-coded in the text.提示的方法
- 计算机专业考研 数学分析,中国农业大学2018年计算机考研816数学分析考试大纲...
- java 根据环境导包_java环境变量配置原理解析以及eclipse导入外包的方法
- 世界上第一个bug的发现者——被誉为“COBOL 之母”的葛丽丝 · 霍普。
- html插入flash时钟,教你利用Flash制作一个会走动的时钟(时针,分针,秒针)
- Unity UI 框架