关于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,一般会有如下几个原因

  1. 驱动路径指定的不正确,当你IDE工具中运行的时候,因为已经主动将驱动加载到了指定路径。但是当你在外部执行,比如编写成脚本,用java命令执行,就需要指定依赖包目录,比如:java -cp .;\lib* A 类似与这样写即可。其中\lib*是指的与A.class同级的lib目录,也就说驱动放到了lib目录中
  2. url路径不正确,按照JDBC的规范,采用SPI机制,数据库驱动包会实现自己的Driver,里面有写好的匹配的前缀,比如jdbc:oracle这种,如果你传入错误了那就会找不到合适的驱动程序来处理,就会报错。此时按照驱动包的前缀名称修改即可
posted @ 2024-08-08 16:03  冰雪女娲  阅读(80)  评论(0编辑  收藏  举报