关于java连接数据库时提示异常java.sql.SQLException: No suitable driver found for说明
当我们测试一个新的数据库服务时,需要使用对方提供jdbc驱动来连接数据库,有时候简单的写个demo去连接,发现提示异常:
java.sql.SQLException: No suitable driver found for jdbc:jdbc:nuuv://10.1.8.99:8832/xxoo
比如有以下程序连接数据库测试:
public static void main(String[] args) throws Exception {
try(Scanner sc = new Scanner(System.in)){
String url = "jdbc:jdbc:nuuv://10.1.8.99:8832/xxoo";
String username = "xx";
String passwd = "oo";
try (Connection conn = DriverManager.getConnection(url, username, passwd)) {
DatabaseMetaData metaData = conn.getMetaData();
System.out.println("Product Name:" + metaData.getDatabaseProductName());
}
}
}
执行时提示异常No suitable driver found for,一般会有如下几个原因
- 驱动路径指定的不正确,当你IDE工具中运行的时候,因为已经主动将驱动加载到了指定路径。但是当你在外部执行,比如编写成脚本,用java命令执行,就需要指定依赖包目录,比如:java -cp .;\lib* A 类似与这样写即可。其中\lib*是指的与A.class同级的lib目录,也就说驱动放到了lib目录中
- url路径不正确,按照JDBC的规范,采用SPI机制,数据库驱动包会实现自己的Driver,里面有写好的匹配的前缀,比如jdbc:oracle这种,如果你传入错误了那就会找不到合适的驱动程序来处理,就会报错。此时按照驱动包的前缀名称修改即可
分类:
Java技术 / 疑难杂症
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!