2

我是 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)

我真的需要帮助。谢谢。

4

3 回答 3

5

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

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

于 2013-01-31T08:04:24.043 回答
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");
}
于 2013-01-31T08:14:32.300 回答
0

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

当您从 Microsoft 网站下载 SQlserver JDBC 驱动程序时,您将获得两个 jar 文件:sqljdbc4.jar 和 sqljdbc.jar。

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

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

所以.检查 sqljdbc4.jar

于 2013-01-31T09:00:27.693 回答