首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP JDBC 連接 SQL Server 2014 ClassNotFoundException:驅動類別名稱與 JAR 包版本不匹配

     編輯:程式設計綜合問答

錯誤訊息

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

原因分析

com.microsoft.jdbc.sqlserver.SQLServerDriver 是 **舊版 jTDS/Microsoft 2000 驅動**類別名稱。SQL Server 2014 需使用新版 Microsoft JDBC Driver:

  • 驅動 JAR:mssql-jdbc-12.x.x.jre11.jar(對應 JDK 版本)。
  • 正確類別名稱:com.microsoft.sqlserver.jdbc.SQLServerDriver(注意 sqlserver 而非 jdbc.sqlserver)。

修正連線程式碼

String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://192.168.1.119:1433;databaseName=Web;encrypt=true;trustServerCertificate=true";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, "sa", "123456");

Maven 依賴

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>12.4.2.jre11</version>
</dependency>

SQL Server 端配置確認

  • SQL Server Configuration Manager → TCP/IP 啟用,IPAll 埠 1433。
  • 防火牆入站規則允許 1433。
  • 混合驗證模式啟用,sa 帳號解鎖、設定強密碼。

總結

ClassNotFoundException 直接原因是驅動 JAR 版本與代碼中類別名稱不匹配。升級至 Microsoft 官方最新 JDBC Driver,使用 com.microsoft.sqlserver.jdbc.SQLServerDriver 即可解決。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved