如何确定用于JDBC的驱动程序

时间:2014-07-28 11:18:51

标签: java mysql database netbeans driver

我在Netbeans中运行以下代码试图连接到MySQL数据库。

package database_console;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class DBConnect 
{

    public static void main(String[] args) 
    {
        try{
            String host = "jdbc:mysql://localhost:3306/mydatabase";
            String uName = "root";
            String uPass = "password";
            Connection con = DriverManager.getConnection( host, uName, uPass );
            Statement stmt = con.createStatement();
            String sql = "SELECT * FROM counselor";
            ResultSet rs = stmt.executeQuery(sql);

            rs.next();
            int id_col = rs.getInt("id");
            String first_name = rs.getString("firstName");
            String last_name = rs.getString("lastName");

            String p = id_col + " " + first_name + " " + last_name;
            System.out.println(p);
        }
        catch(SQLException err){
            System.out.println(err.getMessage());
        }
    }

}

我收到以下异常消息:

No suitable driver found for jdbc:mysql://localhost:3306/mydatabase

我知道我必须转到我的项目文件夹并在我的库文件夹中添加一个JAR。我已经阅读了大量的在线指南,但没有人讨论如何确定哪个JAR文件是合适的。

所以我的问题是:我可以获取任何JAR文件并将其用作客户端驱动程序吗?例如derbyclient.jar?如果没有,有没有办法确定哪个JAR文件适合用作客户端驱动程序?

编辑:此外,我有点困惑是否应该从Sun MicrosystemNetbeansMySQL下载所需的驱动程序。

6 个答案:

答案 0 :(得分:2)

转到您的netbeans->项目 - >属性。 在图书馆"添加图书馆"。 选择MYSQL JDBC Driver。

答案 1 :(得分:2)

我遇到了这个错误,这就是我解决它的方法。

1)转到项目的属性

2)转到图书馆

3)添加库

4)选择MySQL JDBC Driver

这对我有用。

答案 2 :(得分:1)

您需要在类路径中包含JAR。

对于Mysql,例如 - mysql-connector-java-5.1.18-bin.jar

如果您使用的是maven,POM.xml中的依赖项将是

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.18</version>
</dependency>

在使用DriverManager.getConnection进行连接之前,您需要注册驱动程序,如下所示

Class.forName("com.mysql.jdbc.Driver");

答案 3 :(得分:0)

JDBC驱动程序是特定于数据库的连接器。在您的情况下,您将需要MySQL JDBC连接器。

答案 4 :(得分:0)

准备主机网址时,您需要知道要连接的数据库的类型。 在粘贴的示例中 String host = "jdbc:mysql://localhost:3306/mydatabase";字符串&#34; mysql&#34;表示它是一个mysql数据库。因此,您需要使用mysql客户端库。

答案 5 :(得分:0)

您需要根据您使用过的数据库来决定。

在您的情况下,您使用了MySQL,因此您需要使用MySQL的jdbc驱动程序。 http://dev.mysql.com/downloads/connector/j/

如果您使用的是Oracle,则可以使用Oracle提供的jdbc驱动程序。 http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

您可以在所选的DB官方网站上找到jdbc驱动程序。它取决于JDK版本以及DB版本。