关于mysql jdbc 驱动问题 为啥一直提示我 找不到可用的驱动,难道是我下载的驱动有问题??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于mysql jdbc 驱动问题 为啥一直提示我 找不到可用的驱动,难道是我下载的驱动有问题??相关的知识,希望对你有一定的参考价值。

import java.sql.*;

public class DBConnectionTest

public static void main(String[] args)


String driver="com.mysql.jdbc.driver";
String url="jdbc:mysql://localhost:3306/mysqlTest";
String userName="724434";
String password="724434";
Connection conn=null;
Statement stmt=null;

try

Class.forName(driver);//加载驱动
System.out.println("数据库加载成功");

catch(ClassNotFoundException e)

System.err.println("ClaaNotFoundException999");

finally

try

stmt.close();
if(conn!=null)
conn.close();


catch(SQLException e)

System.out.println("sqlexception异常"+e.getMessage());
e.printStackTrace();

1 在eclipse里面引用外部库
2 可能是驱动版本问题 一般400多kb
参考技术A 你项目里导入mysql jdbc的jar包了么?

为啥 JVM 找不到 Postgresql JDBC 驱动程序?

【中文标题】为啥 JVM 找不到 Postgresql JDBC 驱动程序?【英文标题】:Why Can't JVM Find Postgresql JDBC Driver?为什么 JVM 找不到 Postgresql JDBC 驱动程序? 【发布时间】:2020-05-22 20:23:48 【问题描述】:

我知道以前有人问过这个问题,但现有答案无济于事。

现有的答案往往会告诉您将 postgresql-.jar 放在 /path/to/db/lib/ 中,我这样做了;或以 MySQL 为中心。我已经尝试了 > 5 个不同的答案,但没有任何帮助。

这是我在 Clojure REPL 上运行的内容:

(require '[next.jdbc :as jdbc])
(def db :dbtype "postgres" :dbname "whatever" :user "whoever" :password "yeahright")
(jdbc/get-connection db)

我得到这个错误:

Execution error (SQLException) at java.sql.DriverManager/getConnection (DriverManager.java:702).
 No suitable driver found for jdbc:postgresql://127.0.0.1:5432/<db_name>

我知道 postgresql-42.2.12.jar 在我的计算机上的位置,我使用 :classpath-add 在 project.clj 中添加了该路径。我已经仔细检查了 URL 的语法,据我所知它是正确的。

Java 版本:

  $ java -version
  java version "10.0.1" 2018-04-17
  Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
  Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

  $ lein -version
  Leiningen 2.9.1 on Java 10.0.1 Java HotSpot(TM) 64-Bit Server VM

我在 Ubuntu 和 Mac 上遇到了同样的问题。有谁知道怎么回事?

【问题讨论】:

我以为您只需要将驱动程序放到您的 lein :deps : .. [org.postgresql/postgresql "42.2.12"] 。总是对我有用。 发布您的 project.clj 文件 @leetwinski 您可以将您的评论移至答案吗?那行得通。 【参考方案1】:

根据next.jdbc 入门指南https://cljdoc.org/d/seancorfield/next.jdbc/CURRENT/doc/getting-started

“此外,您需要为您希望用于您正在使用的任何数据库的 JDBC 驱动程序添加依赖项。”

对于lein,这意味着将以下内容添加到project.clj 中的:dependencies 向量中:

[org.postgresql/postgresql "42.2.10"]

(这是 next.jdbc 在撰写本文时测试的最新版本,2020 年 5 月 23 日)

【讨论】:

愚蠢的我。一定错过了。【参考方案2】:

确保您的project.clj 包含这样的条目

[org.postgresql/postgresql "42.2.12"]

:dependencies 向量中。

【讨论】:

以上是关于关于mysql jdbc 驱动问题 为啥一直提示我 找不到可用的驱动,难道是我下载的驱动有问题??的主要内容,如果未能解决你的问题,请参考以下文章

关于mysql jdbc驱动程序的安装

使用jdbc连接mysql为啥报错?

为啥 JVM 找不到 Postgresql JDBC 驱动程序?

关于oracle与mysql官方jdbc的一些区别

为啥maven编译时不需要jdbc的驱动包

无法加载驱动程序类:com.mysql.jdbc.Driver 与 Gradle 和 Spring Boot