Microsoft JDBC Driver for SQL Server 的版本資訊

本文會列出 Microsoft JDBC Driver for SQL Server 的版本。 針對每個發行版本,會將變更命名並加以描述。

12.6

下載 Microsoft JDBC Driver 12.6.1 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.6.1 for SQL Server (tar.gz)

版本號碼:12.6.1
發行日:2024 年 2 月 20 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

12.6 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 12.6 的最新更新。 GitHub,12.6.0 (英文)
Maven 中心 (英文)
完全符合 JDBC API 規格 4.2 的規範。 12.6 套件中的 jar 會根據 JAVA 版本相容性命名。

例如,12.6 套件的 mssql-jdbc-12.6.0.jre11.jar 檔案應搭配 JAVA 11 (或更新版本) 使用。
與 JAVA 開發套件 (JDK) 21.0、17.0、11.0 和 1.8 版相容。 除了 JDK 17.0、11.0 與 1.8 之外,Microsoft JDBC Driver 12.6 for SQL Server 現在也與 JAVA 開發套件 (JDK) 21.0 版相容。

12.6 版

版本號碼:12.6.1
發行日:2024 年 2 月 20 日

12.6.1 中修正的問題:

  • CallableStatements 修正的 'EXEC' 逸出語法

下載 Microsoft JDBC Driver 12.6.1 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.6.1 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

版本號碼:12.6.0
發行日期:2024 年 1 月 31 日

下載 Microsoft JDBC Driver 12.6.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.6.0 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

12.6 版的新功能

功能 詳細資料
JAVA 21 支援 除了 JDK 17.0、11.0 和 1.8 之外,驅動程式現在還與 JAVA 開發套件 (JDK) 21.0 版相容。
允許透過使用新的連線屬性 useFlexibleCallableStatements 直接呼叫預存程序 驅動程式現在會直接呼叫預存程序,而不是將程序包裝在 exec sp_executesql 周圍,可簡化程序並改善效能。
已新增 useDefaultJaasConfig 連接字串屬性 設定為 true 時,允許 Kerberos 驗證而不需額外的外部設定。
已新增 useDefaultGSSCredential 連接字串屬性 設定為 true 時,允許驅動程式在使用原生 GSS-API 進行 Kerberos 驗證時,代表使用者建立 GSSCredential。
已新增 calcBigDecimalPrecision 連接字串屬性 設定為 true 時,可讓驅動程式計算 BigDecimal 輸入的有效位數。
已針對連線開啟重試和閒置連線復原重新連線新增具名記錄器 連線開啟重試會使用重新導向記錄類別,而且可以在 FINE 記錄層級使用。 閒置連線復原重新連線會使用復原記錄類別,而且可在 FINE 或 FINER 記錄層級使用。

12.6 的變更

變更 詳細資料
已變更 IBM JDK 檢查的方式,以避免 OSGi 環境發生問題 已從只檢查廠商名稱變更為檢查廠商和 VM 名稱。
已正確同步處理對 MSAL 的所有呼叫 防止驅動程式撥打額外的呼叫,及證明不必要的對話。
已新增應該轉譯為 RMFAIL 的其他錯誤 已新增其他案例「依同儕節點重設連線」和「連線逾時」,這應該等同於 RMFAIL
已變更 BulkCopy 中時間戳記的使用方式 將 BulkCopy 行為從序列化和還原序列化時間戳記物件變更為直接使用物件,導致使用大量時間戳記時效能改善。
已變更 socketTimeout 以確保其小於 loginTimeout 的正確性 先前 socketTimeout 會獨立於 loginTimeout 採取行動,導致驅動程式的逾期時間比預期更久,且可能產生令人困惑的行為。 已修正此問題,因此 socketTimeout 一律有等於 loginTimeout 的上限。
已調整的 PreparedStatement 快取,以便在每次執行之前清除該快取 PreparedStatement 快取未正確清除的情況下,雖然不常發生,但可能在一段時間後導致記憶體問題。 這項變更可確保在每次執行之前清除快取,以防止物件累積。
升級至較新的 Bouncycastle 相依性 bcprov-jdk15onbcpkix-jdk15on 升級至 bcprov-jdk18onbcpkix-jdk18on,因為前者不再更新。
已更新相依性 已更新 azure-identityazure-security-keyvault-keysbouncycastleh2msal 的相依性版本。

12.6 的修正

修正 詳細資料
已修正 e.getCause() 遺漏的 Null 檢查 已修正當例外狀況沒有原因時,系統會改為傳遞例外狀況本身,以防止其遺失的問題。 GitHub 問題 #2299 (英文)。
已修正 IOBuffer 中的鎖定,以預防可能發生的鎖死問題 已修正 IOBuffer 中鎖定的實作,特別是針對 disableSSL,以防止在某些情況下可能發生的鎖死問題。 GitHub 問題 #2288 (英文)。 GitHub 問題 #2265 (英文)。
已修正批次插入的時間戳記和大量複製問題 已修正使用批次插入搭配 bulkcopy 插入時,未正確套用至時間戳記的時區。 GitHub 問題 #2271 (英文)。
針對 useBulkCopyForBatchInsert,已修正的遺漏 getter 和 setter 已修正 SQLServerConnectionSQLServerConnnectionPoolProxy 之間的行為應該一樣,但事實上不一樣的問題,就如同後者遺漏 getter 和 setter 的 useBulkCopyForBatchInsert 一樣。 GitHub 問題 #2245 (英文)。
已修正 bulkcopy 中繼資料查詢在可用時利用快取資料的問題 已修正在每次呼叫欄位中繼資料時,即使已快取資料,仍會呼叫欄位中繼資料的問題。 GitHub 問題 #2224 (英文)。
已修正 TVP 值遺漏 BigDecimal 小數位數檢查的問題 - 已修正撰寫 TVP 資料列值時,輸入值未正確篩選 BigDecimal 小數位數的問題。 GitHub 問題 #2222 (英文)。
已修正 SQLServerDatabaseMetadata 中的 schemaPattern,以確保其正確逸出 已修正 schemaPattern 是 SQLServerDatabaseMetadata 中未正確逸出的唯一模式的問題。 GitHub 問題 #2186 (英文)。
已修正嘗試將日期轉換為 long 時傳回 Null SQLState 的問題 已修正當 xopenStates 設定為 true 時,驅動程式不會在特定執行個體中傳回預期的 SQL-99 狀態碼的問題。 GitHub 問題 #2167 (英文)。
已修正包含 TOP 查詢的 getMetaData 錯誤 已修正在查詢中使用 TOP 限定詞時,驅動程式會傳回有關 ParameterMetadata 的錯誤。 GitHub 問題 #1776 (英文)。
已修正使用批次插入時的表格名稱剖析問題 已修正了在一般情況下,遺漏空格符的 insert 陳述式正常運作,但未修正在使用批次 inserts 時無法正常運作的問題。 GitHub 問題 #1534 (英文)。
已修正 ParameterMetadata 和無效索引的問題 已修正 ParameterMetadata 無法正確檢查和擲回例外狀況的問題 (無效的索引 0)。 GitHub 問題 #1490 (英文)。
已修正 ActivityCorrelator 中 ActivityID 的行為 已修正 ActivityID 的定義方式,並用來符合其他 Microsoft 驅動程式的行為。
修正在使用 bulkcopy 進行批次插入時忽略計算資料行的問題 已修正 BulkCopy 行為,以忽略計算資料行,並允許批次插入,因為先前插入會失敗,並傳回引用這些計算資料行的錯誤。
已修正使用 Java 金鑰存放區和 Azure Key Vault 時的簽名相關驅動程式行為 已修正在使用 Java 金鑰存放區時,簽名未正確驗證的問題,以及新增新 API 來簽署欄位主要金鑰中繼資料 (並回傳產生的簽名),以搭配 Java 金鑰存放區和 Azure Key Vault
已修正 getObject() 的 DateTimeOffset 錯誤轉換 已修正在 DATETIMEOFFSET 欄位上呼叫 ResultSet.getObject() 時的問題,使用 LocalDate/LocalTime/LocalDateTime 作為類別引數,欄位中的值會轉換成本機時區。

舊版

12.4

下載 Microsoft JDBC Driver 12.4.2 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.4.2 for SQL Server (tar.gz)

版本號碼:12.4.2
發行日期︰2023 年 10 月 27 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

12.4 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 12.4 的最新更新。 GitHub,12.4.0 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 12.4 套件中的 jar 會根據 JAVA 版本相容性命名。

例如,12.4 套件的 mssql-jdbc-12.4.0.jre11.jar 檔案應搭配 JAVA 11 (或更新版本) 使用。
與 JAVA 開發套件 (JDK) 20.0、17.0、11.0 和 1.8 版相容。 除了 JDK 17.0、11.0 與 1.8 之外,Microsoft JDBC Driver 12.4 for SQL Server 現在也與 JAVA 開發套件 (JDK) 20.0 版相容。

12.4 版

版本號碼:12.4.2
2023 年 9 月 21 日發行

12.4.2 中修正的問題:

  • 已將 IBM 檢查還原為廠商檢查,並新增額外的 VM 名稱檢查以移除誤判

下載 Microsoft JDBC Driver 12.4.2 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.4.2 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

版本號碼:12.4.1
發行日期:2023 年 8 月 24 日

12.4.1 的變更:

  • 已備妥的 SQL 參數名稱現在已套用自動間距

12.4.1 中修正的問題:

  • 已修正 Azure SQL 資料庫中模擬資訊安全內容中的 getUserName 中繼資料查詢問題
  • 已修正 IBM JDK 偵測
  • 已修正 Java 金鑰存放區未驗證簽名及將 signColumnMasterkeyMetadata API 新增至 JKS 和 AKV 的錯誤
  • 已新增原始版本中遺漏的錯誤字串當地語系化

下載 Microsoft JDBC Driver 12.4.1 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.4.1 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

版本號碼:12.4.0
發行日期:2023 年 7 月 31 日

下載 Microsoft JDBC Driver 12.4.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.4.0 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

12.4 版的新功能

功能 詳細資料
JAVA 20 支援 除了 JDK 17.0、11.0 和 1.8 之外,驅動程式現在還與 JAVA 開發套件 (JDK) 20.0 版相容。
已新增存取權杖回呼連接字串屬性 透過在連接字串中傳遞回呼實作類別的名稱,以補充先前實作的存取權杖回呼。
已新增 ActiveDirectoryServicePrincipalCertificate 的支援 透過連線選項 authentication=ActiveDirectoryServicePrincipalCertificate 支援 Azure 身分識別程式庫的 ActiveDirectoryServicePrincipalCertificate 來改善使用者體驗。
已新增另一個 XAER_RMFAIL 案例 在某些情況下,驅動程式仍然傳回 XAException,並出現 XAER_RMERR 錯誤。 已將額外的案例新增至 XA 錯誤處理以解決此問題。

12.4 的變更

變更 詳細資料
已更新同盟驗證邏輯,以在擷取權杖時使用永續性權杖快取 此更新可改善權杖擷取案例中的效能,並更輕鬆地允許與未來的 MSAL 版本相容。
如果發生通訊端逾時,允許嘗試容錯移轉夥伴 允許在通訊端逾時之後,使用提供的容錯移轉夥伴進行重新連線嘗試。
已改善建立參數類型定義時的效能 藉由預先計算用於 buildParamTypeDefinitions 中所使用的陣列和字串建立器大小,以及移除不需要的字串配置,改善使用此方法的效能。
已變更在 LOGIN 封包中傳送 serverName 至包含 instanceName serverName 現在會附加至 LOGIN 封包中 instanceName 的結尾。
已更新 supportTransaction 方法,以反映伺服器是否支援交易 解決 Azure Synapse 資料庫中 connection.rollback 無法運作的問題,因為 Azure Synapse 不支援 supportTransaction 中使用的語法。
更新 sp_cursor 呼叫,以便傳入表格名稱,而不是空字串 解決更新一對多資料表時收到 ResultSet 列更新不一致的問題。
已更新 supportsLikeEscapeClause() 以檢查 Azure 資料倉儲 解決 AzureDW 儘管明確不支援,仍傳回 supportsLikeEscapeClause 為 true 的問題。
已升級至最新的 OSGi JDBC 規格 osgi.compendium 5.0.0 升級至 osgi.service.jdbc 1.1.0,以維持 OSGi JDBC 規格 8.1.0 的合規性。
已更新相依性 已更新 azure-identityazure-security-keyvault-keysgsonh2msal 的相依性版本。

12.4 的修正

修正 詳細資料
已修正存在於 BigDecimal 的效能和記憶體問題 還原自 12.2 版以來所有關於 BigDecimal 的變更。 此修正可解決觀察到的效能問題。 使用者在使用 BigDecimal 時需要小心,以避免發生先前已解決的截斷問題。 GitHub 問題 #2176 (英文)。
已修正 encrypt=strict 的伺服器憑證驗證 修正以確保在 encrypt 設定為 strict 的情況下,伺服器憑證已正確驗證。 GitHub 問題 #2174 (英文)。
已修正在 Azure DB 中設定重新導向模式時,lockTimeout 不會生效的問題 已修正當設定 lockTimeout,因為它只應該套用至來自 Azure 外部的連線,而不是如先前一樣,從 Azure 內部套用的問題。 GitHub 問題 #2110 (英文)。
已修正使用 findSocketUsingThreading 時的高執行緒計數 已修正無法攔截的例外狀況導致上游睡眠呼叫中斷,導致重試發生太快的問題。 GitHub 問題 #2104 (英文)。
已修正共用計時器競爭條件 已修正 SharedTimer 類別中潛在的競爭條件。 GitHub 問題 #2085 (英文)。
已修正預存程序和零結果 metaQuery 傳回的錯誤 已修正當 metaQuery 在預存程序執行後沒有傳回結果的問題,這會傳回未定義的參數錯誤。 GitHub 問題 #2063 (英文)。
已修正當插入中提供的欄位與資料表結構描述不同時,無效的批次插入 已修正使用 useBulkCopyForBatchInsert=true 會導致欄位混合和無效資料的問題。 GitHub 問題 #1992 (英文)。
已修正 XA 錯誤處理,以重新擲回 XAER_RMFAIL 而不是 XAER_RMERR 已修正問題:當驅動程式遇到 SQL Server 從主要節點容錯移轉至待命節點,同時提交 XA 交易,驅動程式會傳回 XAException,並傳回錯誤碼 XAER_RMERR 的問題。 GitHub 問題 #1432 (英文)。
修正活動識別碼和用戶端識別碼行為,以維持與 JDBC 規格的一致性 已修正活動識別碼行為,以在流程生命中維持不變,一律在 PRELOGIN 中傳送活動識別碼,並針對每個新連線遞增排序。 也已修正用戶端識別碼,以在流程生命中維持不變。

12.2

下載 Microsoft JDBC Driver 12.2.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.2.0 for SQL Server (tar.gz)

版本號碼:12.2.0
發行日期:2023 年 1 月 31 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

12.2 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 12.2 的最新更新。 GitHub,12.2.0 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 12.2 套件中的 jar 會根據 JAVA 版本相容性命名。

例如,12.2 套件的 mssql-jdbc-12.2.0.jre11.jar 檔案應搭配 JAVA 11 (或更新版本) 使用。
與 JAVA 開發套件 (JDK) 19.0、17.0、11.0 和 1.8. 版相容。 除了 JDK 17.0、11.0 與 1.8 之外,Microsoft JDBC Driver 12.2 for SQL Server 現在也與 JAVA 開發套件 (JDK) 19.0 版相容。

12.2 版

下載 Microsoft JDBC Driver 12.2.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 12.2.0 for SQL Server (tar.gz)

版本號碼:12.2.0
發行日期:2023 年 1 月 31 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

12.2 版的新功能

功能 詳細資料
JAVA 19 支援 除了 JDK 17.0、11.0 和 1.8 之外,驅動程式現在還與 JAVA 開發套件 (JDK) 19.0 版相容。
已新增存取權杖回呼的支援 允許用戶端程式碼在傳回存取權杖的 DataSource 上註冊回呼。
已新增 DefaultAzureCredential 的支援 透過連線選項 authentication=ActiveDirectoryDefault 同時支援 Azure 身分識別程式庫的 DefaultAzureCredentialIntelliJCredential 來改善使用者體驗。
已新增連接屬性 datetimeParameterType,藉此指定要用於日期/時間戳記參數的資料類型 已新增連接屬性 datetimeParameterType,可讓使用者明確指定 datetimedatetime2 的轉換,在較舊的資料庫中提供更高的相容性。

12.2 的變更

變更 詳細資料
讓驅動程式易於搭配 Loom 使用 以可重新進入鎖定取代 synchronized(foo),來改善使用 Loom 時的效能。
受控識別驗證會使用 Azure 身分識別程式庫 取代驅動程式的內建程式碼,以使用 Azure 身分識別程式庫取得及快取受控識別權杖。 與先前支援的驅動程式相比,這項變更能新增更多 Azure 服務的受控識別支援。
使 MSAL 成為選用相依性 使 msal4j 再次成為選用相依性。
已更新相依性 已更新 azure-identityazure-security-keyvault-keysantlr4-runtimebcprov-jdk15onbcpkix-jdk15onmsal 的相依性版本。
更新以動態檢查 ExtendedSocketOption 類別 解決遺漏 ExtendedSocketOptions 傳回 NoClassDefFoundError 的錯誤。

12.2 的修正

修正 詳細資料
已修正擲回資料庫例外狀況時的 Null SQL 狀態與零錯誤碼 已修正在發生 SQL 錯誤之後,SQL 狀態與錯誤碼會顯示不正確資訊的問題。 GitHub 問題 #2015 (英文)。
已修正閒置連線恢復,因此 unprocessedResponseCount 不會過度遞減 唯有當 doneToken.isFinal 為 true 時,才需要遞減 unprocessedResponseCount (無論如何皆已遞減)。 GitHub 問題 #1971 (英文)。
已修正連線到錯誤的 SQLServer 主機 修正並行問題,其中當驅動程式連線到多個 SQLServer 主機時,可能會與錯誤的主機建立連線。 GitHub 問題 #1964 (英文)。
已修正不正確的 updateCount 針對 enablePrepareOnFirstPreparedStatementCall 和 prepexec/prepare,在 true/false 案例中都可能發生不正確的更新計數。 GitHub 問題 #1961 (英文)。
已修正信任存放區密碼加密/解密混淆方法中的並行問題 已新增鎖定,以加密/解密信任存放區的密碼混淆。 GitHub 問題 #1939 (英文)。
已修正快取帳戶名稱大小寫問題 修正帳戶名稱傳送至區分大小寫的 Microsoft 驗證程式庫,導致重複登入要求的問題。 GitHub 問題 #1923 (英文)。
已修正查詢取消錯誤 (Bug) 已修正批次查詢中間歇性發生的查詢取消錯誤。 GitHub 問題 #1896 (英文)。
已修正可呼叫陳述式錯誤 已修正可呼叫陳述式「索引超出界限」和「參數未定義」錯誤。 GitHub 問題 #1871 (英文)。
已修正擷取結果集時的 DONE 權杖檢查 將遺漏的案例新增至先前的 DONE_ERROR 修正程式,其中伺服器的 DONE_ERROR 狀態可能源自驅動程式忽略的已終止工作階段。 GitHub 問題 #1846 (英文)。 GitHub 問題 #1505 (英文)。
在執行批次時,請確定在所有案例下都會清除 batchParamValues 解決在使用大量更新時,批次在失敗時未正確清除的問題。 GitHub 問題 #1767 (英文)。
已修正使用 BigDecimal 時傳送的有效位數 修正預設會以最大有效位數傳送 BigDecimal 值的問題,其可能會導致不需要的小數捨入。 GitHub 問題 #1489 (英文)。 GitHub 問題 #942 (英文)
已修正證明通訊協定 NONE 以在所有情況下運作 已修正 NONE 證明通訊協定背後的邏輯以在所有情況下運作,而不是只能在特定情況下。
已修正 SecureStringUtil 中的競爭條件 已修正 SecureStringUtil 建立期間 SecureStringUtil 中的競爭條件。

11.2

下載 Microsoft JDBC Driver 11.2.3 for SQL Server (zip)
下載 Microsoft JDBC Driver 11.2.3 for SQL Server (tar.gz)

版本號碼:11.2.3
發行日期:2023 年 1 月 12 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

11.2 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 11.2 的最新更新。 GitHub,11.2.0 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 11.2 套件中的 jar 會根據 JAVA 版本相容性命名。

例如,11.2 套件的 mssql-jdbc-11.20.jre17.jar 檔案應搭配 JAVA 17 使用。
與 JAVA 開發套件 (JDK) 18.0、17.0、11.0 和 1.8 版相容。 除了 JDK 17.0、11.0 與 1.8 之外,Microsoft JDBC Driver 11.2 for SQL Server 現在也與 JAVA 開發套件 (JDK) 18.0 版相容。

11.2 版

版本號碼:11.2.3
發行日期:2023 年 1 月 12 日

11.2.3 中修正的問題:

  • 已修正擲回資料庫例外狀況時的 Null SQL 狀態與零錯誤碼
  • 已修正批次查詢中發生逾時時不正確的更新計數
  • 已修正使用 Azure Functions 時不正確的權杖到期日
  • 已修正連線到錯誤的 SQLServer 主機

版本號碼:11.2.2
發行日期︰2022 年 12 月 15 日

11.2.2 中修正的問題:

  • 已修正閒置連線復原錯誤 (Bug)
  • 清除閒置重新連線時的已備妥陳述式控制代碼快取
  • 已修正可呼叫陳述式索引超出界限錯誤
  • 已修正擷取結果集時的 DONE 權杖檢查
  • 已修正間歇性錯誤:「解密期間發生內部錯誤: 標籤不符!」

下載 Microsoft JDBC Driver 11.2.2 for SQL Server (zip)
下載 Microsoft JDBC Driver 11.2.2 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

版本號碼:11.2.1
發行日期︰2022 年 9 月 8 日

11.2.1 中修正的問題:

  • 使 com.microsoft.azure:msal4j 成為選擇性相依性
  • 已修正批次查詢中間歇性發生的查詢取消錯誤 (Bug)

下載 Microsoft JDBC Driver 11.2.1 for SQL Server (zip)
下載 Microsoft JDBC Driver 11.2.1 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

版本號碼:11.2.0
發行日期︰2022 年 8 月 4 日

下載 Microsoft JDBC Driver 11.2.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 11.2.0 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

11.2 版的新功能

功能 詳細資料
JAVA 18 支援 除了 JDK 17.0、11.0 和 1.8 之外,驅動程式現在還與 JAVA 開發套件 (JDK) 18.0 版相容。
已新增可設定的 IPv6 支援 用戶端應用程式的 IP 位址喜好設定現在可以在 IPv4 與 IPv6 之間設定。 使用新的 ipaddresspreference 連線設定來控制該行為。 如需詳細資訊,請參閱設定連線屬性
已新增準備方法選取的支援 已新增新的連接字串屬性 prepareMethod,以在使用 sp_prepare 和 sp_prepexec 之間切換。 使用新的 prepareMethod 連線設定來控制該行為。 如需詳細資訊,請參閱設定連線屬性
已新增 encrypt=strict 的 serverCertificate 連線屬性 已新增 serverCertificate 屬性,該屬性是伺服器憑證檔案 (PEM 格式) 的路徑。 encrypt 設定為 strict 時,驗證作業就會使用這個屬性。 如需詳細資訊,請參閱設定連線屬性
快取參數中繼資料呼叫 現在可以快取參數化查詢的加密相關資訊。 請參閱搭配 JDBC 驅動程式使用 Always Encrypted
已新增大量插入 Null GUID 值的支援 解決大量插入模式中無法插入 Null 值的問題。
已新增快取受控識別權杖的支援 允許快取從受控識別端點取得的權杖。

11.2 的變更

變更 詳細資料
針對加密連線屬性新增 "strict" 選項以支援 TDS 8.0 中斷性變更 加密連線屬性現在是字串類型。
已新增對已交涉 ALPN 的檢查 用來確定已成功交涉應用程式層通訊協定的檢查。
已新增 enclaveAttestationProtocol 的選項 已新增 NONE 通訊協定的選項,以便在無需證明的情況下使用安全記憶體保護區。
允許在連接字串中重新排列 serverName 順序 驗證連接字串的 serverName 欄位沒有等號。
已針對遺漏的 MSAL 程式庫新增更好的錯誤記錄 ActiveDirectoryServicePrincipal 的案例中缺少 MSAL 時,新增錯誤訊息。
已將閒置連線復原逾時重構為使用現有的 SharedTimer 使用現有的 SharedTimer 改善閒置連線恢復功能的效率。
在 strict 模式中時,在 Login7 中傳送 TDS 第 8 版 在 encrypt=strict 時包含 TDS 第 8 版,將其他資訊新增至 Login7 封包。
已將預設 loginTimeout 值變更為 30 秒 已將預設 loginTimeout 值從 15 秒變更為 30 秒,以允許更多時間來在逾時之前解析初始連線。
msal4j 相依性現在是明確的 已新增 msal4j 的明確相依性 (在先前版本中為可轉移相依性)。
已更新相依性 已更新 azure-identityazure-security-keyvault-keys 的相依性版本。

11.2 的修正

修正 詳細資料
已修正 preparedMethod=prepare 所造成的錯誤 已修正與批次查詢搭配使用時,sp_prepare 所造成的間歇性 null 備妥陳述式處理錯誤 GitHub 問題 #1880 (英文)。
已修正平行建立多個連線可能會擲回 IndexOutOfBoundsException 的錯誤 已修正 addressList 的競爭條件,其可能會在建立多個連線時導致 IndexOutOfBoundsException GitHub 問題 #1852 (英文)。
已修正取消 "insert into" 陳述式時,判斷提示會失敗的問題 已修正驅動程式可能會在取消陳述式時判斷提示的問題 GitHub 問題 #1849 (英文)。
已修正當 SQL Database 中的工作階段終止時,不會如預期般擲回的例外狀況 已新增對 DONE_ERROR 狀態權杖的檢查,其可能源自伺服器上的已終止工作階段 GitHub 問題 #1846 (英文)。
受控識別重試間隔 已修正受控識別重試間隔,以正確地以指數方式輪詢 GitHub 問題 #1765 (英文)。
已移除 connectionCommand() 內針對 executeCommand() 的額外呼叫 已移除 executeCommand 的額外呼叫,導致某些使用者的效能問題 GitHub 問題 #1669 (英文)。
已修正 selectMethod 的未知權杖錯誤 已修正當 selectMethod 資料指標用於資料分類時的未知權杖錯誤 0xA3

10.2

下載 Microsoft JDBC Driver 10.2.3 for SQL Server (zip)
下載 Microsoft JDBC Driver 10.2.3 for SQL Server (tar.gz)

版本號碼:10.2.3
發行日期:2023 年 1 月 12 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

版本號碼:10.2.2
2022 年 12 月 13 日發行

下載 Microsoft JDBC Driver 10.2.2 for SQL Server (zip)
下載 Microsoft JDBC Driver 10.2.2 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

版本號碼:10.2.1
發行日期:2022 年 5 月 12 日

下載 Microsoft JDBC Driver 10.2.1 for SQL Server (zip)
下載 Microsoft JDBC Driver 10.2.1 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

10.2 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 10.2 的最新更新。 GitHub,10.2.0 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 10.2 套件中的 jar 會根據 JAVA 版本相容性命名。

例如,10.2 套件的 mssql-jdbc-10.20.jre17.jar 檔案應搭配 JAVA 17 使用。
與 JAVA 開發套件 (JDK) 17.0、11.0 和 1.8 版相容。 除了 JDK 11.0 與 1.8 之外,Microsoft JDBC Driver 10.2 for SQL Server 現在也與 JAVA 開發套件 (JDK) 17.0 版相容。

10.2 版

版本號碼:10.2.3
發行日期:2023 年 1 月 12 日

10.2.3 中修正的問題:

  • 已修正批次查詢中發生逾時時不正確的更新計數
  • 已修正使用 Azure Functions 時不正確的權杖到期日
  • 已修正擲回資料庫例外狀況時的 Null SQL 狀態與零錯誤碼

版本號碼:10.2.2
2022 年 12 月 13 日發行

10.2.2 中修正的問題:

  • 清除閒置連線復原重新連線時的已備妥陳述式快取
  • 修正 KeepAlive 延伸選項的設定
  • 已修正驅動程式可能會在取消陳述式時判斷提示的問題
  • 已修正可呼叫陳述式索引超出界限錯誤
  • 已修正未檢查 DONE 權杖錯誤,導致忽略例外狀況的問題
  • 已修正查詢取消錯誤 (Bug)

版本號碼:10.2.1
發行日期:2022 年 5 月 12 日

10.2.1 中修正的問題:

  • 已將閒置連線復原逾時變更為使用現有的 SharedTimer
  • 已修正受控識別驗證重試間隔,以正確地以指數方式輪詢
  • 已移除 connectionCommand() 內針對 executeCommand() 的額外呼叫

版本號碼:10.2.0
發行日期:2022 年 1 月 31 日

下載 Microsoft JDBC Driver 10.2.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 10.2.0 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

10.2 版的新功能

功能 詳細資料
JAVA 17 支援 除了 JDK 11.0 和 1.8 之外,驅動程式現在還與 JAVA 開發套件 (JDK) 17.0 版相容。
閒置連線復原支援 現已支援閒置連線復原。 請參閱閒置連線復原 (部分機器翻譯)。
多使用者金鑰存放區提供者 驅動程式現在支援連線與陳述式層級的金鑰存放區提供者,以支援多使用者案例。 請參閱搭配 JDBC 驅動程式使用 Always Encrypted

10.2 的變更

變更 詳細資料
加密預設為 true 中斷性變更 TLS 加密預設為啟用。
加密時的憑證驗證 = false 中斷性變更 當加密 = false 但伺服器需要加密時,將會根據 trustServerCertificate 連線設定對憑證進行驗證。
aadSecurePrincipalId 與 aadSecurePrincipalSecret 已淘汰 aadSecurePrincipalId 與 aadSecurePrincipalSecret 連線屬性已經淘汰。 請改為使用使用者名稱與密碼。
已移除 getAADSecretPrincipalId API 中斷性變更 基於安全性考慮,已移除 getAADSecretPrincipalId API。
SQL_Variant 支援 已新增擷取 DateTimeOffset 時對 SQL_Variant 資料類型的支援。
Linux 中的非封鎖隨機 已更新為在產生記憶體保護區套件的 GUID 時使用非封鎖隨機呼叫。
領域的 CNAME 解析 已新增指定領域時的 CNAME 解析。
已更新相依性 已更新 azure-identityazure-security-keyvault-keysgsonbouncycastle 的相依性版本。

10.2 的修正

修正 詳細資料
TDSParser 卡在 TDS_COLMETADATA 已修正:TDSParser 卡在 TDS_COLMETADATA,其可能會導致特定查詢停止回應。 GitHub 問題 #1661 (英文)

9.4

下載 Microsoft JDBC Driver 9.4.1 for SQL Server (zip)
下載 Microsoft JDBC Driver 9.4.1 for SQL Server (tar.gz)

版本號碼:9.4.1
發行日期︰2021 年 12 月 7 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

9.4 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 9.4 的最新更新。 GitHub,9.4.0 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 9.4 套件中的 jar 會根據 JAVA 版本相容性命名。

例如,9.4 套件的 mssql-jdbc-9.4.0.jre16.jar 檔案應搭配 JAVA 16 一起使用。
與 JAVA 開發套件 (JDK) 16.0、11.0 和 1.8 版相容。 除了 JDK 11.0 與 1.8 之外,Microsoft JDBC Driver 9.4 for SQL Server 現在也與 JAVA 開發套件 (JDK) 16.0 版相容。

9.4 版

版本號碼:9.4.1
發行日期︰2021 年 12 月 7 日

9.4.1 中修正的問題:

  • 已修正驅動程式遇到不支援的 TDS_COLMETADATA 時的潛在停止回應
  • 已修正在大量複製中將 LocalDateTime 與 LocalTime 轉換成 String

版本號碼:9.4.0
發行日期:2021 年 7 月 30 日

下載 Microsoft JDBC Driver 9.4.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 9.4.0 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

9.4 版的新功能

功能 詳細資料
JAVA 16 支援 除了 JDK 11.0 和 1.8 之外,驅動程式現在還與 JAVA 開發套件 (JDK) 16.0 版相容。
複寫連線支援 現已支援複寫連線。 請參閱設定連線屬性 (部分機器翻譯)。
自訂 Kerberos 驗證領域 驅動程式現在支援在使用 Kerberos 驗證時指定自訂驗證領域。 請參閱設定連線屬性 (部分機器翻譯)。
開啟連線重試 已新增 connectRetryCountconnectRetryInterval 連線屬性,以設定開啟連線時的自動重試。 如需這些新屬性的詳細資料,請參閱設定連線屬性 (部分機器翻譯)。

9.4 的變更

變更 詳細資料
Azure Key Vault 提供者 您可以連續開啟多個連線,同時指定不同的 Azure Key Vault 提供者資訊。
已更新錯誤訊息 與記憶體保護區例外狀況相關的錯誤訊息現在包括疑難排解指南的連結。
與 Active Directory 驗證失敗相關的錯誤訊息現在包括來自底層程式庫的錯誤字串。
傳送至伺服器的驅動程式版本 驅動程式版本現在會在 PRELOGIN 期間正確傳送至資料庫。
用戶端處理序識別碼 用戶端處理序識別碼現在會在於 JAVA 9+ 上執行時傳送至伺服器。 JAVA 8 會保留先前傳送用戶端處理序識別碼之 0 的功能。
已更新相依性 已更新 azure-identityazure-security-keyvault-keysgsonantlrbouncycastle 的相依性版本。
已移除不必要的參考 已從 JAVA 8 jar 中移除未使用的 JAVA 9 特定類別參考

9.4 的修正

修正 詳細資料
GitHub 問題 #1499 (英文) 已修正:在連接字串中啟用一律加密並呼叫 clearParameters 時,批次會失敗。
GitHub 問題 #1632 (英文) 已修正:新連線會出現小幅度的記憶體流失。
GitHub 問題 #1565 (英文) 已修正使用 applicationIntent=ReadOnly 時 trustStorePassword 為 null 的問題
GitHub 問題 #1568 (英文) 已修正重新導向權杖在 servername 中會包含具名執行個體的問題
GitHub 問題 #1531 (英文) 已修正 TDSWriter.writeString() 中的潛在整數溢位

9.2

下載 Microsoft JDBC Driver 9.2.1 for SQL Server (zip)
下載 Microsoft JDBC Driver 9.2.1 for SQL Server (tar.gz)

版本號碼:9.2.1
發行日期︰2021 年 3 月 2 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

9.2 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 9.2 的最新更新。 GitHub,9.2.1 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 9.2 套件中的 jar 會根據 JAVA 版本相容性命名。

例如,9.2 套件的 mssql-jdbc-9.2.1.jre15.jar 檔案應搭配 JAVA 15 一起使用。
與 JAVA 開發套件 (JDK) 15.0、11.0 和 1.8 版相容。 除了 JDK 11.0 與 1.8 之外,Microsoft JDBC Driver 9.2 for SQL Server 現在也與 JAVA 開發套件 (JDK) 15.0 版相容。

9.2 版

版本號碼:9.2.1
發行日期︰2021 年 3 月 2 日

9.2.1 中修正的問題:

  • 已修正在 Azure 環境中的 ActiveDirectoryServicePrincipal 驗證期間,用戶端密碼為空白的問題。

版本號碼:9.2.0
發行日期:2021 年 1 月 29 日

下載 Microsoft JDBC Driver 9.2.0 for SQL Server (zip)
下載 Microsoft JDBC Driver 9.2.0 for SQL Server (tar.gz)

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

JDK 15 支援

除了 JDK 11.0 與 1.8 之外,Microsoft JDBC Driver 9.2 for SQL Server 現在也與 JAVA 開發套件 (JDK) 15.0 版相容。

已新增 Azure Active Directory 互動式驗證的支援

新增驗證類型 詳細資料
Microsoft JDBC Driver 9.2 for SQL Server 現在支援透過互動式驗證向 Azure Key Vault 進行驗證。 請參閱使用 Azure Active Directory 驗證連線 (部分機器翻譯)。

已新增 Azure Active Directory 服務主體驗證的支援

新增驗證類型 詳細資料
Microsoft JDBC Driver 9.2 for SQL Server 現在支援使用服務主體身分識別的用戶端識別碼與祕密向 Azure Key Vault 進行驗證。 請參閱使用 Azure Active Directory 驗證連線 (部分機器翻譯)。

已更新 Azure Key Vault 程式庫以使用現代化 Azure Key Vault 程式庫

Azure Key Vault 的程式庫變更 詳細資料
Microsoft JDBC Driver 9.2 已從舊世代的 Azure Key Vault 程式庫與 ADAL 程式庫移轉至更現代化的 Azure Key Vault 與 Azure 身分識別對等服務。 相依性變更 如果您會利用 Azure Active Directory 驗證或 Azure Key Vault,請務必更新應用程式相依性。 請參閱使用 Azure Key Vault 提供者 (部分機器翻譯) 或 Azure Active Directory 驗證 (部分機器翻譯) 時的相依性需求

已針對非 Azure Synapse Analytics 伺服器啟用 useBulkCopyForBatchInsert

針對非 Azure Synapse Analytics 伺服器的 useBulkCopyForBatchInsert 變更 詳細資料
Microsoft JDBC Driver 9.2 現在允許針對非 Azure Synapse Analytics 伺服器的批次插入作業使用大量複製 API。 請參閱使用大量複製 API 執行批次插入作業 (部分機器翻譯)。

8.4

下載 Microsoft JDBC Driver 8.4 for SQL Server (zip)
下載 Microsoft JDBC Driver 8.4 for SQL Server (tar.gz)

版本號碼:8.4.1
發行日期:2020 年 8 月 27 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

8.4 合規性

合規性變更 詳細資料
下載 JDBC 驅動程式 8.4 的最新更新。 GitHub,8.4.1 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 8\.4 套件中的 jar 會根據 Java 版本相容性命名。

例如,8.4 套件的 mssql-jdbc-8.4.1.jre14.jar 檔案應搭配 Java 14 一起使用。
與 Java 開發套件 (JDK) 14.0、11.0 和 1.8 版相容。 除了 JDK 11.0 與 1.8 之外,Microsoft JDBC Driver 8.4 for SQL Server 現在也與 Java 開發套件 (JDK) 14.0 版相容。

8.4 版

版本號碼:8.4.1
發行日期:2020 年 8 月 27 日
已修正的問題:

  • 已修正 SQLServerConnectionPoolProxydelayLoadingLobs 不相容的問題
  • 已修正 delayLoadingLobs 潛在的 NullPointerException 問題
  • 已修正使用 Windows 憑證存放區將資料行加密金鑰解密時的問題

版本號碼:8.4.0
發行日期:2020 年 7 月 31 日

JDK 14 支援

除了 JDK 11.0 與 1.8 之外,Microsoft JDBC Driver 8.4 for SQL Server 現在也與 Java 開發套件 (JDK) 14.0 版相容。

已新增使用受控識別驗證至 Azure Key Vault 的支援

新增驗證類型 詳細資料
Microsoft JDBC Driver 8.4 for SQL Server 現在支援使用受控識別驗證至 Azure Key Vault。 請參閱搭配 JDBC 驅動程式使用 Always Encrypted

針對 Azure 資料倉儲之大量複製的延伸支援

適用於 Azure 資料倉儲的大量複製變更 詳細資料
Microsoft JDBC 驅動程式 8.4 加入新的連線屬性,sendTemporalDataTypesAsStringForBulkCopy。 這個布林值屬性預設為 TRUE。 請參閱搭配 JDBC 驅動程式使用大量複製

已新增 Azure SQL DNS 快取的支援

DNS 快取 詳細資料
Microsoft JDBC Driver 8.4 for SQL Server 現在支援針對 Azure VM 上 SQL Server 進行 DNS 快取。  

已新增串流 LOB 物件的回溯相容性

LOB 串流 詳細資料
Microsoft JDBC Driver 8.4 for SQL Server 已新增新的連線屬性 delayLoadingLobs delayLoadingLobs 設定為 FALSE 將會導致系統不會串流從 ResultSet 擷取的所有 LOB 物件。 此設定表示驅動程式會將整個 LOB 物件同時載入記憶體,這與 6.4 版之前的驅動程式版本行為類似。

已新增回送案例的用戶端憑證驗證支援

用戶端憑證驗證 詳細資料
Microsoft JDBC Driver 8.4 for SQL Server 已針對回送案例新增名為用戶端憑證驗證的新驗證方法。 請參閱回送案例的用戶端憑證驗證

8.2

下載 Microsoft JDBC Driver 8.2 for SQL Server (zip)
下載 Microsoft JDBC Driver 8.2 for SQL Server (tar.gz)

版本號碼:8.2.2 發行日期:2020 年 3 月 24 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對 zip 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

8.2 合規性

合規性變更 詳細資料
下載 JDBC Driver 8.2 的最新更新。 GitHub,8.2.2 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 8\.2 套件中的 jar 會根據 Java 版本相容性命名。

例如,8.2 套件的 mssql-jdbc-8.2.2.jre11.jar 檔案應搭配 Java 11 一起使用。
與 Java 開發套件 (JDK) 13.0、11.0 和 1.8 版相容。 除了 JDK 11.0 和 1.8 之外,Microsoft JDBC Driver 8.2 for SQL Server 現在還與 Java 開發套件 (JDK) 13.0 版相容。

8.2 版

版本號碼:8.2.2
發行日期:2020 年 3 月 24 日
已修正的問題:

  • 已新增設定受信任 Azure Key Vault 端點清單的選項

版本號碼:8.2.1
發行日期:2020 年 2 月 26 日
已修正的問題:

  • 已修正使用 SQLServerResultSet.getObject()java.time.LocalTimejava.time.LocalDate 的類型擷取資料時的潛在 NullPointerException 問題

版本號碼:8.2.0
發行日期:2020 年 1 月 31 日

JDK 13 支援

除了 JDK 11.0 和 1.8 之外,Microsoft JDBC Driver 8.2 for SQL Server 現在還與 Java 開發套件 (JDK) 13.0 版相容。

具有安全記憶體保護區的 Always Encrypted

Always Encrypted 變更 詳細資料
Microsoft JDBC Driver 8.2 for SQL Server 現也支援使用安全記憶體保護區的 Always Encrypted。 在這裡可以找到詳細資料:具有安全記憶體保護區的 Always Encrypted。
更多詳細資料和範例程式碼。 請參閱具有安全記憶體保護區的 Always Encrypted

從 SQL Server 擷取時態性資料類型時的效能改善 1

時態性資料類型變更 詳細資料
Microsoft JDBC Driver 8.2 for SQL Server 改善了從 SQL Server 擷取時態性資料類型時的效能。 這項變更會盡可能避免使用 java.util.Calendar,藉以排除不必要的時態性資料類型轉換。
下列為受此效能改善影響的時態性資料類型清單;格式為「SQL Server 資料類型」 (Java 對應)。 date (java.sql.Date)、datetime (java.sql.Timestamp)、datetime2 (java.sql.Timestamp)、smalldatetime (java.sql.Timestamp) 和 time (java.sql.Time)。

1 由於 java.util.Calendar 與 java.time.LocalDateTime API 之間處理時區方式的差異,因此使用者所提供 java.util.Calendar 物件與其建立關聯的時態性資料類型或 microsoft.sql.DateTimeOffset 資料類型,都無法從這項改善中受益。

將 mssql-jdbc_auth-<version>-<arch>.dll (先前為 sqljdbc_auth.dll) 部署至 Maven 存放庫

sqljdbc_auth.dll 變更 詳細資料
自 Microsoft JDBC Driver 8.2 for SQL Server 起,驅動程式將會仰賴 mssql-jdbc_auth-<version>-<arch>.dll (而非仰賴 sqljdbc_auth.dll) 來使用 Azure Active Directory 驗證功能。  
DLL 也已上傳至 Maven 存放庫,以方便存取。 請參閱本頁面

8.2 已知問題

已知問題 詳細資料
搭配使用具有安全記憶體保護區的 Always Encrypted 與 Java 8。 使用者必須包含 BouncyCastle 提供者作為相依性,或對應/載入支援 RSASSA-PSS 簽章演算法的安全性提供者。

7.4.1

下載 Microsoft JDBC Driver 7.4.1 for SQL Server (自我解壓縮 .exe)
下載 Microsoft JDBC Driver 7.4.1 for SQL Server (tar.gz)

版本號碼:7.4.1
發行日期:2019 年 8 月 2 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對自我解壓縮 exe 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

7.4 合規性

合規性變更 詳細資料
下載 JDBC Driver 7.4 的最新更新。 GitHub,7.4.1 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 7\.4 套件中的 jar 會根據 Java 版本相容性命名。

例如,來自 7.4 套件的 mssql-jdbc-7.4.1.jre11.jar 檔案應該與 Java 11 搭配使用。
與 Java 開發套件 (JDK) 12.0、11.0 和 1.8 版相容。 除了 JDK 11.0 和 1.8 之外,Microsoft JDBC Driver 7.4 for SQL Server 現在還與 Java 開發套件 (JDK) 12.0 版相容。

7.4 版

版本號碼:7.4.1
發行日期:2019 年 8 月 2 日
已修正的問題:

  • 已還原 SQLServerDataTableSQLServerDataColumn 中的新 hashCode()equals() API 實作,因為此 API 變更會中斷回溯相容性

版本號碼:7.4.0
發行日期:2019 年 7 月 31 日

JDK 12 支援

除了 JDK 11.0 和 1.8 之外,Microsoft JDBC Driver 7.4 for SQL Server 現在還與 Java 開發套件 (JDK) 12.0 版相容。

引進 NTLM 驗證

NTLM 變更 詳細資料
支援 NTLM 驗證模式。 這種驗證模式可讓 Windows 與非 Windows 用戶端,使用 Windows 網域使用者身分針對 SQL Server 自行驗證。
更多詳細資料及一個範例應用程式來使用此驗證模式。 請參閱 使用 NTLM 驗證連線

介紹如何透過 useFmtOnly 查詢 ParameterMetaData

useFmtOnly 變更 詳細資料
已新增 useFmtOnly 連線屬性屬性。 此功能可讓使用者透過 SET FMTONLY ON 舊版 API 選擇性地查詢 ParameterMetaData。 此設定對於 sp_describe_undeclared_parameters 未如預期執行的情況很有用。
更多詳細資料與限制。 請參閱 Using useFmtOnly

更新了「適用於 Java 的 Microsoft Azure Key Vault SDK」 1.2.1 版

Key Vault SDK 變更 詳細資料
其在「適用於 Java 的 Microsoft Azure Key Vault SDK」 上的 Maven 相依性已更新為 1.2.1 版。  
移除 Maven 相依性中的 Microsoft Azure SDK for Key Vault WebKey  
其他詳細資料。 請參閱 Microsoft JDBC Driver for SQL Server 的功能相依性

7.4 已知問題

已知問題 詳細資料
使用 NTLM 驗證時。 目前不支援同時啟用擴充保護與加密連線。
使用 useFmtOnly 時。 有一些功能問題與是由 SQL 剖析邏輯中的缺陷所造成。 如需更多詳細資訊與因應措施建議,請參閱使用 useFmtOnly

7.2.2

下載 Microsoft JDBC Driver 7.2.2 for SQL Server (自我解壓縮 .exe)
下載 Microsoft JDBC Driver 7.2.2 for SQL Server (tar.gz)

版本號碼:7.2.2
發行日期:2019 年 4 月 16 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對自我解壓縮 exe 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

7.2 合規性

合規性變更 詳細資料
下載 JDBC Driver 7.2 的最新更新。 GitHub,7.2.2 (英文)。
Maven 中心 (英文)。
完全符合 JDBC API 規格 4.2 的規範。 7\.2 套件中的 jar 會根據 Java 版本相容性進行命名。

例如,來自 7.2 套件的 mssql-jdbc-7.2.2.jre11.jar 檔案應該與 Java 11 搭配使用。
除了 JDK 1.8 之外,還與 Java Development Kit (JDK) 11.0 版相容。 除了 JDK 1.8 之外,Microsoft JDBC Driver 7.2 for SQL Server 現在還與 Java 開發套件 (JDK) 11.0 版相容。

7.2 版

版本號碼:7.2.2
發行日期:2019 年 4 月 16 日
已修正的問題:

  • 已修正 ActivityID 未適當清除的問題

版本號碼:7.2.1
發行日期:2019 年 2 月 11 日
已修正的問題:

  • 已修正某些參數化查詢的剖析問題

版本號碼:7.2.0
發行日期:2019 年 1 月 31 日

Active Directory「受控識別」(MSI) 驗證

MSI 變更 詳細資料
支援 Active Directory 受控識別 (MSI) 驗證模式。 此驗證模式適用於已啟用「身分識別」功能支援的 Azure 資源。

此驅動程式同時支援這兩種類型的受控識別 (MSI),以取得 accessToken 來建立安全連線。
更多詳細資料及一個範例應用程式來使用此驗證模式。 請參閱使用 Azure Active Directory 驗證連線

引進「開放式服務閘道協議」 (OSGi) 支援

OSGi 變更 詳細資料
已新增 DataSourceFactory 實作。 org.osgi.service.jdbc.DataSourceFactory
com.microsoft.sqlserver.jdbc.osgi.SQLServerDataSourceFactory
已新增 Activator 實作。 org.osgi.framework.BundleActivator
com.microsoft.sqlserver.jdbc.osgi.Activator

引進 SQLServerError API

錯誤 API 變更 詳細資料
已引進 SQLServerError API。 Getter API 以擷取有關從伺服器產生之錯誤的更多詳細資料。

SQLServerException.getSQLServerError()
SQLServerError
其他詳細資料。 請參閱處理錯誤

已更新「適用於 Java 的 Microsoft Azure Active Directory 驗證程式庫 (ADAL4J)」 ,1.6.3 版

ADAL4J 變更 詳細資料
已將其在 ADAL4J 上的 Maven 相依性更新為版本 1.6.3。  
引進 Java Client Runtime for AutoRest 作為 Maven 相依性版本 1.6.5。  
其他詳細資料。 請參閱 Microsoft JDBC Driver for SQL Server 的功能相依性

已更新「適用於 Java 的 Microsoft Azure Key Vault SDK」 1.2.0 版

Key Vault SDK 變更 詳細資料
已將其在「適用於 Java 的 Microsoft Azure Key Vault SDK」 上的 Maven 相依性更新為 1.2.0 版。  
引進 Microsoft Azure SDK for Key Vault WebKey 作為 Maven 相依性,1.2.0 版。  
其他詳細資料。 請參閱 Microsoft JDBC Driver for SQL Server 的功能相依性

7.2 已知問題

已知問題 詳細資料
已在某些情況下將查詢參數化。 已於 2019 年 2 月發行 7.2.0 版本的更新 (v7.2.1) 來解決此問題。
清除 Activityid。 已於 2019 年 4 月發行 7.2.1 版本的更新 (v7.2.2) 來解決此問題。

7.0

下載 Microsoft JDBC Driver 7.0 for SQL Server (自我解壓縮 .exe)
下載 Microsoft JDBC Driver 7.0 for SQL Server (tar.gz)

版本號碼:7.0.0
發行日期:2018 年 7 月 31 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對自我解壓縮 exe 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

Microsoft JDBC Driver 7.0 for SQL Server 完全符合 JDBC API 規格 4.2 的規範。 7\.0 套件中的 jar 會根據 Java 版本相容性進行命名。 例如,來自 7.0 套件的 mssql-jdbc-7.0.0.jre10.jar 檔案應該與 Java 10 搭配使用。

JDK 10 支援

除了 JDK 1.8 之外,Microsoft JDBC Driver 7.0 for SQL Server 現在還與 Java 開發套件 (JDK) 10.0 版相容。 此更新也會透過其資訊清單檔來公開驅動程式的 Automatic-Module-Name 作為 com.microsoft.sqlserver.jdbc

空間資料類型的支援

Microsoft JDBC Driver 7.0 for SQL Server 現在提供 SQL Server 空間資料類型「地理」和「幾何」的支援。 如需有關空間資料類型 API 及其使用方式的詳細資訊,請參閱使用空間資料類型

為 JDBC 4.3 引進的 java.sql.Connection API beginRequest() 和 endRequest() 新增實作

Microsoft JDBC Driver 7.0 for SQL Server 現在會從 java.sql.Connection 類別實作 beginRequest()endRequest() API。 這些 API 均會透過 JDBC 4.3 規格和 JDK 9 來引進。 如需驅動程式如何實作這些 API 的詳細資訊,請參閱適用於 JDBC Driver 的 JDBC 4.3 合規性

針對「SQL 資料探索與分類」的支援

適用於 SQL Server 的 Microsoft JDBC 驅動程式 7.0 利用任何支援此功能的目標資料庫,來提供「SQL 資料探索與分類」的支援。 此驅動程式現在會公開 SQLServerResultSet.getSensitivityClassification() API,從擷取的 ResultSet 中擷取此資訊。

如需如何搭配 JDBC 驅動程式使用此功能的詳細資訊,請參閱 SQL 資料探索與分類中的範例。

已新增連線屬性:useBulkCopyForBatchInsert

Microsoft JDBC Driver 7.0 for SQL Server 會引進新的連線屬性 useBulkCopyForBatchInsert。 僅 Azure Synapse Analytics 支援此屬性。

預設會停用此屬性。 當要將大量資料推送到 Azure Synapse Analytics 時,可啟用此屬性以提升使用者應用程式的效能。 啟用此屬性會變更批次插入作業的行為,以切換到使用者提供資料的大量複製作業。 如需這個屬性及其限制的詳細資訊,請參閱使用大量複製 API 執行批次插入作業

已新增連線屬性:cancelQueryTimeout

Microsoft JDBC Driver 7.0 for SQL Server 會引進新的連線屬性 cancelQueryTimeout,以取消 java.sql.Connectionjava.sql.Statement 物件上的 queryTimeout

已新增 Azure Key Vault Provider 建構函式

Microsoft JDBC Driver 7.0 for SQL Server 會針對 SQLServerColumnEncryptionAzureKeyVaultProvider 重新引進先前移除的建構函式。 它已允許透過 SQLServerKeyVaultAuthenticationCallback 實作的自訂方法進行驗證以擷取存取權杖。

新的建構函式具有下列定義:

/* This constructor is added to provide backward compatibility with 6.0
* version of the driver. It is marked deprecated for removal in the next
* stable release.
*/
@Deprecated
public SQLServerColumnEncryptionAzureKeyVaultProvider(
        SQLServerKeyVaultAuthenticationCallback authenticationCallback,
        ExecutorService executorService) throws SQLServerException;

/*New constructor to replace the above constructor*/
public SQLServerColumnEncryptionAzureKeyVaultProvider(
            SQLServerKeyVaultAuthenticationCallback authenticationCallback) throws SQLServerException;

已更新「適用於 Java 的 Microsoft Azure Active Directory 驗證程式庫 (ADAL4J)」版本:1.6.0

Microsoft JDBC Driver 7.0 for SQL Server 已將其在「適用於 Java 的 Microsoft Azure Active Directory 驗證程式庫 (ADAL4J)」上的 Maven 相依性更新為 1.6.0 版。 如需有關相依性的詳細資訊,請參閱 Microsoft JDBC Driver for SQL Server 的功能相依性

6.4

下載 Microsoft JDBC Driver 6.4 for SQL Server (自我解壓縮 .exe)
下載 Microsoft JDBC Driver 6.4 for SQL Server (tar.gz)

版本號碼:6.4.0
發行日期:2018 年 2 月 27 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對自我解壓縮 exe 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

Microsoft JDBC Driver 6.4 for SQL Server 完全符合 JDBC 規格 4.1 和 4.2 的規範。 6\.4 套件中的 jar 會根據 Java 版本相容性進行命名。 例如,來自 6.4 套件的 mssql-jdbc-6.4.0.jre8.jar 檔案必須與 Java 8 搭配使用。

JDK 9 支援

除了 JDK 8.0 和 7.0,此驅動程式還支援 JDK 9.0 版。

JDBC 4.3 合規性

除了 4.1 與 4.2 之外,此驅動程式還支援 Java 資料庫連線 API 4.3 規格。 已新增 JDBC 4.3 API 方法,但尚未實作。 如需詳細資訊,請參閱適用於 JDBC 驅動程式的 JDBC 4.3 合規性

已新增連線屬性:sslProtocol

新的連線屬性讓使用者能夠指定 TLS 通訊協定關鍵字。 可能的值包括:TLS、TLSv1、TLSv1.1 與 TLSv1.2。 如需詳細資訊,請參閱 SSLProtocol \(英文\)。

已取代連線屬性:fipsProvider

已從可接受的連線屬性清單中移除連線屬性 fipsProvider。 如需詳細資訊,請參閱相關的 GitHub 提取要求 \(英文\)。

已新增連線屬性來指定自訂 TrustManager

此驅動程式現在支援利用已新增的 trustManagerClasstrustManagerConstructorArg 連線屬性來指定自訂 TrustManager。 您可以針對每個連線動態指定一組信任的憑證,而不需修改 Java 虛擬機器 (JVM) 環境的全域設定。

已新增支援資料表值參數中的 datetime/smallDatetime

當您使用資料表值參數 (TVP) 時,此驅動程式現在支援資料類型 datetimesmallDatetime

已新增支援 sql_variant 資料類型

此 JDBC Driver 現在支援可與 SQL Server 搭配使用的 sql_variant 資料類型。 sql_variant 資料類型也可透過 TVP 和大量複製等功能來支援,但有下列限制:

  • 針對資料值

    當您使用 TVP 來填入包含 sql_variant 資料行中所儲存之 datetimesmalldatetimedate 值的資料表時,在結果集上呼叫 getDateTime()getSmallDateTime()getDate() 方法就無法運作,並會擲回下列例外狀況:

    java java.lang.String cannot be cast to java.sql.Timestamp

    因應措施為改用 getString()getObject() 方法。

  • 針對 Null 值搭配 sql_variant 使用 TVP

    如果您使用 TVP 來填入資料表,並將 NULL 值傳送到 sql_variant 資料欄類型,您會遇到例外狀況。 目前不支援在 TVP 中使用資料行類型 sql_variant 插入 NULL 值。

已實作備妥的陳述式中繼資料快取

此 JDBC Driver 已實作備妥的陳述式中繼資料快取來改進效能。 此驅動程式目前會透過 disableStatementPoolingstatementPoolingCacheSize 連線屬性,來支援快取驅動程式中的備妥陳述式中繼資料。 此功能預設為停用。 如需詳細資訊,請參閱 JDBC Driver 的備妥陳述式中繼資料快取

已在 Linux/macOS 上新增支援 Azure AD 整合式驗證

JDBC 驅動程式現在透過 Kerberos,在所有支援的作業系統 (Windows、Linux 與 macOS) 上支援 Azure Active Directory (Azure AD) 整合式驗證。 或者,在 Windows 作業系統上,使用者可以使用 mssql-jdbc_auth-<version>-<arch>.dll 進行驗證。

已更新「適用於 Java 的 Microsoft Azure Active Directory 驗證程式庫 (ADAL4J)」版本:1.4.0

此 JDBC Driver 已將其在「適用於 Java 的 Microsoft Azure Active Directory 驗證程式庫 (ADAL4J)」上的 Maven 相依性更新為 1.4.0 版。 如需有關相依性的詳細資訊,請參閱 Microsoft JDBC Driver for SQL Server 的功能相依性

6.2

下載 Microsoft JDBC Driver 6.2 for SQL Server (自我解壓縮 .exe)
下載 Microsoft JDBC Driver 6.2 for SQL Server (tar.gz)

版本號碼:6.2.2
發行日期:2017 年 9 月 29 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對自我解壓縮 exe 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

Microsoft JDBC Driver 6.2 for SQL Server 完全符合 JDBC 規格 4.1 和 4.2 的規範。 6\.2 套件中的 jar 會根據 Java 版本相容性進行命名。 例如,建議將來自 6.2 套件的 mssql-jdbc-6.2.2.jre8.jar 檔案與 Java 8 搭配使用。

6.2 版

版本號碼:6.2.2
發行日期:2017 年 10 月 3 日
已修正的問題:

  • 已將 ADAL4J 相依性更新為 1.2.0 版,並將 Azure Key Vault 相依性更新為 1.0.0 版

版本號碼:6.2.1
發行日期:2017 年 7 月 14 日
已修正的問題:

  • 已修正使用 preparedStatement 在不搭配參數的情況下執行查詢的問題

版本號碼:6.2.0
發行日期:2017 年 6 月 30 日

注意

在已於 2017 年 6 月 29 日發行的 JDBC 6.2 RTW 中發現了中繼資料快取改進的問題。 此改進已回復,並且已於 2017 年 7 月 17 日發行新的 jar (版本 6.2.1)。

另一項改進已將 Azure Key Vault 相依程式庫版本升級為 1.0.0,而新的 jar (版本 6.2.2) 已於 2017 年 10 月 19 日發行。

透過上述的 GitHubMaven 中心 連結,下載 JDBC Driver 6.2 的最新更新。 請更新您的專案以使用 6.2.2 版的 jar。 如需詳細資訊,請檢視 6.2.16.2.2 的版本資訊。

適用於 Linux 的 Azure AD 支援

透過使用者名稱/密碼和存取權杖方法使用 Azure AD 驗證,將您的 Linux 應用程式連線到 Azure SQL Database。

已啟用 FIPS 的 JVM

此 JDBC Driver 現在可在符合美國聯邦資訊處理標準 (FIPS) 140 相容性模式中執行的 JVM 上使用,以符合有關合規性的美國聯邦標準。

Kerberos 驗證改進

此 JDBC Driver 現已支援:

  • 適用於應用程式的主體/密碼方法,其中的 Kerberos 設定無法修改,或無法擷取新的權杖或 Keytab。 此方法可用來對只允許 Kerberos 驗證的 SQL Server 執行個體進行驗證。
  • 跨領域的驗證會使用 Kerberos 整合式驗證,而不需明確地設定伺服器 SPN。 即使未提供,此驅動程式現在還是會自動計算領域。
  • Kerberos 限制委派,其會透過資料來源來接受模擬的使用者認證作為 GSS 認證物件。 這個模擬的認證接著可用來建立 Kerberos 連線。

已新增逾時

此 JDBC Driver 現在支援下列可設定的逾時。 您可根據應用程式的需求加以變更。

  • 查詢逾時,可控制當您執行查詢時在發生逾時之前要等待的秒數。
  • 通訊端逾時,可指定在通訊端讀取或接受時逾時發生之前要等候的毫秒數。

6.1

版本號碼:6.1.0
發行日期:2016 年 11 月17 日

Microsoft JDBC Driver 6.1 for SQL Server 完全符合 JDBC 規格 4.1 和 4.2 的規範。 這是 JDBC Drive 的最初開放原始碼版本。 您可在 GitHub v 6.1.0 標籤 中找到原始程式碼。 此程式碼會建置 mssql-jdbc-6.1.0.jre8.jar 和 mssql-jdbc-6.1.0.jre7.jar 檔案,其對應至 Java 版本相容性。

6.0

下載 Microsoft JDBC Driver 6.0 for SQL Server (自我解壓縮 .exe)
下載 Microsoft JDBC Driver 6.0 for SQL Server (tar.gz)

版本號碼:6.0.8112
發行日期:2017 年 1 月 17 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對自我解壓縮 exe 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

Microsoft JDBC Driver 6.0 for SQL Server 完全符合 JDBC 規格 4.1 和 4.2 的規範。 6\.0 套件中的 jar 會根據其與 JDBC API 版本的合規性進行命名。 例如,6.0 套件中的 sqljdbc42.jar 檔案會符合 JDBC API 4.2 的規範。 同樣地,sqljdbc41.jar 檔案會符合 JDBC API 4.1 的規範。

若要確保您擁有正確的 sqljdbc42.jar 或 sqljdbc41.jar 檔案,請執行下列程式碼行。 如果輸出為「驅動程式版本:6.0.7507.100」,表示您有 JDBC 驅動程式 6.0 套件。

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Always Encrypted

此驅動程式支援 SQL Server 2016 中的 Always Encrypted 功能。 此功能可確保絕對不會在 SQL Server 執行個體中看見純文字格式的敏感性資料。 Always Encrypted 的運作方式為明確加密應用程式中的資料,以便 SQL Server 就只會處理加密的資料,而不會處理非純文字的值。 即使 SQL Server 執行個體或主機電腦被入侵,攻擊者所能得到的也只是敏感性資料的加密文字。 如需詳細資訊,請參閱搭配使用 Always Encrypted 與 JDBC 驅動程式

國際化網域名稱

此驅動程式支援針對伺服器名稱使用國際化網域名稱 (IDN)。 如需詳細資訊,請參閱 JDBC Driver 的國際功能一文中的「使用國際網域名稱」。

參數化查詢

驅動程式現在支援針對子查詢和/或聯結等複雜查詢,使用備妥陳述式來擷取參數中繼資料。 只有使用 SQL Server 2012 與更新版本時,才能使用此改進功能。

Azure Active Directory

Azure AD 驗證是使用 Azure AD 中的身分識別來連線至 Azure SQL Database 的機制。 使用 Azure AD 驗證集中管理資料庫使用者的身分識別,並作為 SQL Server 的替代驗證。

您可以使用 JDBC Driver 6.0,在連線到 Azure SQL Database 的 JDBC 連接字串中指定 Azure AD 認證。 如需詳細資訊,請參閱設定連線屬性一文中的驗證屬性。

資料表值參數

TVP 提供從用戶端應用程式,將多個資料列的資料封送至 SQL Sever 的簡便方式,而不需多次來回存取或特殊的伺服器端邏輯才能處理資料。 您可以使用 TVP,以一個參數化命令在用戶端應用程式中封裝資料列的資料,並傳送至伺服器。 傳入的資料列會儲存於資料表變數中,讓您之後可使用 Transact-SQL 進行運算。 如需詳細資訊,請參閱使用資料表值參數

AlwaysOn 可用性群組

此驅動程式現在支援以透明的方式連線至 AlwaysOn 可用性群組。 驅動程式會快速探索伺服器基礎結構目前的 Always On 拓撲,並以透明的方式連線至目前使用中的伺服器。

4.2

下載 Microsoft JDBC Driver 4.2 for SQL Server (自我解壓縮 .exe)
下載 Microsoft JDBC Driver 4.2 for SQL Server (tar.gz)

版本號碼:4.2.8112
發行日期:2015 年 8 月 24 日

如果需要下載非所偵測語言的驅動程式,則可使用下列直接連結。
針對自我解壓縮 exe 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文
針對 tar.gz 檔案中的驅動程式:簡體中文 | 繁體中文 | 英文 (美國) | 法文 | 德文 | 義大利文 | 日文 | 韓文 | 葡萄牙文 (巴西) | 俄文 | 西班牙文

Microsoft JDBC Driver 4.2 for SQL Server 完全符合 JDBC 規格 4.1 和 4.2 的規範。 4\.2 套件中的 jar 會根據其與 JDBC API 版本的合規性進行命名。 例如,4.2 套件中的 sqljdbc42.jar 檔案會符合 JDBC API 4.2 的規範。 同樣地,sqljdbc41.jar 檔案會符合 JDBC API 4.1 的規範。

若要確保您擁有正確的 sqljdbc42.jar 或 sqljdbc41.jar 檔案,請執行下列程式碼行。 如果輸出為「驅動程式版本:4.2.6420.100」,表示您有 JDBC 驅動程式 4.2 套件。

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

支援 JDK 8

除了 JDK 7.0、6.0 及 5.0,此驅動程式還支援 JDK 8.0 版。

JDBC 4.1 和 4.2 相容性

除了 Java 資料庫連線 API 4.0 規格之外,驅動程式也支援 Java 資料庫連線 API 4.1 與 4.2 規格。 如需詳細資訊,請參閱適用於 JDBC Driver 的 JDBC 4.1 合規性適用於 JDBC Driver 的 JDBC 4.2 合規性

大量複製

您使用大量複製功能可用來快速將大量資料複製到 SQL Server 資料庫中的資料表或檢視。 如需詳細資訊,請參閱搭配 JDBC 驅動程式使用大量複製

XA 交易回復選項

對於已取消準備交易的現有自動回復,驅動程式有新的逾時選項。 如需詳細資訊,請參閱了解 XA 交易

新的 Kerberos 主體連線屬性

驅動程式使用新的連線屬性,讓 Kerberos 連線更具彈性。 如需詳細資訊,請參閱使用 Kerberos 整合式驗證連線到 SQL Server

4.1

版本號碼:4.1.8112
發行日期:2014 年 12 月 12 日

JDK 7 支援

除了 JDK 6.0 和 5.0,此驅動程式還支援 JDK 7.0 版。

Itanium 不支援 JDBC Driver 應用程式

Itanium 電腦不支援 Microsoft JDBC Driver for SQL Server。

另請參閱

JDBC Driver 概觀