如何解决 java.sql.SQLException: 找不到适合 SQLServer 2008 R2 的驱动程序?

How to resolve java.sql.SQLException: No suitable driver found for SQLServer 2008 R2?

下面给出了连接到 SQLServer 的示例代码:

Connection conn=null;
try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     conn= DriverManager.getConnection(" jdbc:sqlserver://localhost:1433;instance=SQLEXPRESS;databaseName=Test" );

    System.out.println("connected");


} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
}

当我执行此代码时,出现以下异常:

java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;databaseName=Test
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:270)
    at JDBCSample.main(JDBCSample.java:14)

我认为 SQLServer 的 jar 不支持或连接字符串中有错字。

从这里下载 SQLServer 2008 R2 兼容的 jar:

https://www.microsoft.com/en-in/download/details.aspx?id=11774

步骤:

  • 点击下载:

  • Select sqljdbc_6.0.8112.200_enu.tar.gzsqljdbc_6.0.8112.200_enu.zip 如果显示。

  • 点击下一步开始下载。

  • 下载后,解压内容。现在,进入 sqljdbc_6.0/enu/jre8sqljdbc_6.0/enu/jre7 并根据您正在使用的 jdk 复制 jar。

在项目的类路径中添加jar。

修正这条线

Connection conn = DriverManager.getConnection(" jdbc:sqlserver://localhost:1433;databaseName=Test" );

为此删除 space。

Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test");

您似乎需要一个支持您的 SQL 数据库类型和版本的 JDBC 驱动程序。也许您的驱动程序版本错误? 你应该看看这个:https://javarevisited.blogspot.com/2016/09/javasqlsqlexception-no-suitable-driver-mysql-jdbc-localhost.html 第 689 行和第 270 行的 DriverManager 在做什么?