You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java连接MS-SQL Server报错No suitable driver found求助

Java连接MS SQL Server报错:No suitable driver found的解决办法

报错信息

java.sql.SQLException: No suitable driver found for jdbc:sqlserver://test.com:1435;user=test;password=test;

运行代码

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

public class SQLDatabaseConnection{
   public static void main(String[] args){
       String connectionUrl = "jdbc:sqlserver://test.com:1435"
                              + "user=test;"
                              + "password=test;";
       try {
         Connection connection = DriverManager.getConnection(connectionUrl); 
       } catch (SQLException e){
         e.printStackTrace();
       }
   }
}

已尝试的方法

  • 在pom.xml中添加MSSQL JDBC依赖:
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>12.4.0.jre11</version>
    </dependency>
    
  • 手动指定JAR包类路径编译运行:
    javac -cp mssql-jdbc-12.4.0.jre11.jar:. SQLDatabaseConnection.java
    java -cp mssql-jdbc-12.4.0.jre11.jar:. SQLDatabaseConnection
    

解决步骤

1. 修复连接URL的拼接错误

代码中连接URL拼接时,服务器地址和参数之间缺少分号,导致URL格式错误,这是核心问题。修改后的URL应为:

String connectionUrl = "jdbc:sqlserver://test.com:1435;"
                      + "user=test;"
                      + "password=test;";

注意在1435后添加分号,确保URL参数格式符合JDBC规范。

2. 手动加载JDBC驱动(可选但有效)

尽管JDBC 4.0及以上支持自动加载驱动,但部分环境下仍需手动触发。在获取连接前添加以下代码:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

修改后的完整代码:

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

public class SQLDatabaseConnection{
   public static void main(String[] args){
       String connectionUrl = "jdbc:sqlserver://test.com:1435;"
                              + "user=test;"
                              + "password=test;";
       try {
         // 手动加载驱动
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         Connection connection = DriverManager.getConnection(connectionUrl);
         System.out.println("连接成功!");
       } catch (ClassNotFoundException | SQLException e){
         e.printStackTrace();
       }
   }
}

3. 确认JRE版本与驱动版本匹配

你使用的是mssql-jdbc-12.4.0.jre11.jar,需确保运行代码的Java环境为JRE 11。通过以下命令检查Java版本:

java -version

若版本不符,需更换对应版本的JDBC驱动(比如JRE 8对应mssql-jdbc-12.4.0.jre8.jar)。

4. 验证Maven依赖引入(Maven项目)

如果是Maven项目,执行mvn clean compile确保依赖已正确下载到本地仓库,且编译时能正常引用。

内容的提问来源于stack exchange,提问作者Aman Chagti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:45:57