在java中没有为jdbc找到合适的驱动程序

时间:2013-01-31 08:00:32

标签: java sql-server jdbc connection

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

我真的需要帮助。谢谢。

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分: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");
}

答案 2 :(得分:0)

如果您使用的是JDBC驱动程序,则在使用JDBC驱动程序时,通常会发生此问题

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

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

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

So.check with sqljdbc4.jar