找不到适合 jdbc mysql 的驱动程序?
Posted
技术标签:
【中文标题】找不到适合 jdbc mysql 的驱动程序?【英文标题】:No suitable driver found for jdbc mysql? 【发布时间】:2012-07-14 04:37:01 【问题描述】:我正在尝试编写一个程序以在 Eclipse 中连接到 mysql 数据库,但我收到错误 "java.sql.SQLException: No suitable driver found"。
java代码为:
import java.sql.*;
public class FirstExample
//static final String S_JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String S_DB_URL = "jdbc:mysql://localhost:3306/emp";
static final String S_USER = "root";
static final String S_PASS = "root";
public static void main(String[] args)
try
System.out.println("Connecting to database...");
//Class.forName(S_JDBC_DRIVER);
Connection connection = DriverManager.getConnection(S_DB_URL,
S_USER, S_PASS);
System.out.println("Creating statement...");
Statement statement = connection.createStatement();
String sql = "SELECT * FROM Employee";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next())
int iId = resultSet.getInt("id");
int iAge = resultSet.getInt("age");
String sFirst = resultSet.getString("fname");
String sLast = resultSet.getString("lname");
System.out.print("ID: " + iId);
System.out.print("\tAge: " + iAge);
System.out.print("\tFirst: " + sFirst);
System.out.println("\tLast: " + sLast);
resultSet.close();
statement.close();
connection.close();
catch (SQLException se)
for (Throwable t : se)
t.printStackTrace();
System.out.println("Goodbye!");
控制台选项卡中的输出是:
Connecting to database...
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/emp
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at FirstExample.main(FirstExample.java:21)
Goodbye!
我使用了 MySQL 连接器/J。解压到MySQL安装目录,jar文件添加到CLASSPATH中。
另请参阅此图片。有一个 !在项目根目录标记image01
当我包含 2 个注释语句时,我得到了如下图所示的错误:image02:
static final String S_JDBC_DRIVER = "com.mysql.jdbc.Driver";
Class.forName(S_JDBC_DRIVER);
【问题讨论】:
您需要取消注释这两行,然后按照 Mark 的指示将 MySQL 驱动程序添加到您的项目中。 【参考方案1】:在获得连接之前加载驱动程序类。
使用此代码:
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_db", "user", "passw");
【讨论】:
【参考方案2】:我遇到了和你一样的问题,但是我是这样处理的: 我将名为 mysql-connector-java-5.1.23-bin.jar 的 jar 复制到 \Apache Software Foundation\Tomcat 6.0\lib 中,然后重新启动了 tomcat。 希望有帮助
【讨论】:
【参考方案3】:我遇到了同样的问题。我通过添加解决了它:
Class.forName("com.mysql.jdbc.Driver");
【讨论】:
另一种方法是Class.forName(Driver.class.getName());
。我只是简单地尝试了Driver.class.getName();
,但它不起作用,令人惊讶的是。【参考方案4】:
你可以像java -cp
pwd/mysql-connector-java-5.1.22-bin.jar:. <classname>
这样放置路径。
确保您在 mysql 驱动程序所在的同一目录中。
希望有所帮助。
【讨论】:
【参考方案5】:或者,您也可以通过在 eclipse 中选择项目,将安装的 jar 文件添加到 eclipse 项目中,右键单击它并转到属性,选择 Java 构建路径>>选择库选项卡>>添加外部 jar 文件和对于大多数 ubuntu 用户,浏览已安装的 mysql-connector-java.jar 文件或 /usr/share/java/ 目录中的任何 mysql java 连接器文件。单击确定并重建您的项目。祝你好运
【讨论】:
【参考方案6】:对于除了最琐碎的应用程序之外的所有应用程序,CLASSPATH
环境变量不使用。通常,这些库包含在 jar 清单中的 Class-Path
条目中,或者包含在 java 命令行的 -cp
选项中。
在这种情况下,您需要将 MySQL JDBC 驱动程序添加到 Eclipse 项目的构建路径中。
【讨论】:
以上是关于找不到适合 jdbc mysql 的驱动程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复:“找不到适合 jdbc:mysql://localhost/dbname 的驱动程序”
Maven:找不到适合 jdbc::mysql://google 的驱动程序
Openshift - 找不到适合 jdbc:mysql 的驱动程序
找不到适合 jdbc:mysql/localhost:3306/world 的驱动程序
PySpark 找不到适合 jdbc 的驱动程序:mysql://dbhost
在 JMETER JDBC 连接配置中找不到适合 jdbc:mysql://localhost:3306/Testing 的驱动程序