【问题标题】:No suitable driver found for jdbc in java在 java 中找不到适合 jdbc 的驱动程序
【发布时间】:2013-01-31 08:00:31
【问题描述】:

我是 sql server 的新手,想在 java 和 sql server 之间建立连接。我的连接代码是:

 public static void main(String[] args) {

    Connection con;
       try {

       String connectionUrl = "jdbc:sqlserver://HELLO-PC:1433; databaseName=Attendance Teachers;";

        con = DriverManager.getConnection(connectionUrl, "", "");
        System.out.println("connected");
        java.sql.Statement st = con.createStatement();    
      }
        catch (SQLException ex) {

        Logger.getLogger(AttendanceTeachers.class.getName()).log(Level.SEVERE, null, ex);
    }

我的服务器名称是“HELLO-PC”,我还添加了 sqljdbc.jar。我看到错误:

Feb 01, 2013 11:24:46 AM attendance.teachers.AttendanceTeachers main
SEVERE: null
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://HELLO-PC:1433;   databaseName=Attendance Teachers;
at java.sql.DriverManager.getConnection(DriverManager.java:604)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at attendance.teachers.AttendanceTeachers.main(AttendanceTeachers.java:30)

我真的需要帮助。谢谢。

【问题讨论】:

  • 使用连接前需要初始化jdbc驱动Class.forName("driver name")
  • 我添加了,我看到了这个错误:
  • com.microsoft.sqlserver.jdbc.SQLServerException:不支持服务器版本。目标服务器必须是 SQL Server 2000 或更高版本。
  • 你使用什么样的数据库?微软、甲骨文、DB2、火鸟?您需要为数据库使用正确的 jar,正如 Georgy 所说的那样初始化
  • 嗯,消息“不支持服务器版本”很清楚,不是吗?

标签: java sql-server jdbc connection


【解决方案1】:

您的问题不在代码中,而是在您执行程序时,包含sqlserver的JDBC驱动程序类的jar文件不在类路径中。

访问相应的 sqlserver 网站 (google) 并下载 JDBC 驱动程序 jar,如果在 IDE 中执行,则将其放入构建路径中;如果从命令行执行,则将其放入与程序 jar 相同的目录中。

【讨论】:

  • 我从项目属性的“添加外部 jars”中添加 jdbc.jar 文件。我也使用 netbeans。
【解决方案2】:

首先,您需要这样做:

private final String dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

try {
    Class.forName(dbDriver).newInstance(); // use java reflection to load the database driver
} catch (Exception ex) {
    System.out.println("failure");
}

【讨论】:

  • 我有消息要告诉你。这对解决问题绝对没有任何用处,除了您会在使用驱动程序类之前抛出异常。没有必要这样做。出于某种原因,网络上的许多示例都这样做,但这不是必需的 - 类加载器会找到没有此代码的类
【解决方案3】:

如果您使用的是 JDBC 4.0,则在使用旧版本的 JDBC 驱动程序时通常会出现此问题

当你从微软网站下载 SQlserver JDBC 驱动时,你会得到两个 jar 文件:sqljdbc4.jar 和 sqljdbc.jar。

1.sqljdbc.jar:提供对JDBC 3.0规范的支持

2.sqljdbc4.jar:提供对JDBC 4.0规范的支持

So.check 用 sqljdbc4.jar

【讨论】:

    猜你喜欢
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 2016-04-18
    • 2012-07-14
    • 2013-04-01
    • 2014-07-14
    相关资源
    最近更新 更多