Заметки о выпуске Microsoft JDBC Driver for SQL Server

В этой статье перечислены выпуски Microsoft JDBC Driver для SQL Server. Для каждой версии выпуска названы и описаны изменения.

13.4

Скачайте драйвер Microsoft JDBC 13.4.0 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 13.4.0 для SQL Server (tar.gz)

Номер выпуска: 13.4.0
Выпущено: 13 марта 2026 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие требованиям 13.4

Изменение соответствия Сведения
Скачайте последние обновления для JDBC Driver 13.4. GitHub, 13.4.0Maven Central
Полностью соответствует спецификации API JDBC версии 4.2. Файлы JAR в пакете 13.4 называются в соответствии с совместимостью версий Java.

Например, файл mssql-jdbc-13.4.0.jre11.jar из пакета 13.4 следует использовать с Java 11 (или более поздней версии).
Совместим с пакетом разработки Java (JDK) версии 25.0, 21.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 13.4 для SQL Server теперь совместим с пакетом средств разработки Java (JDK) версии 25.0 в дополнение к JDK 21.0, 17.0, 11.0 и 1.8.

Выпуски 13.4

Номер выпуска: 13.4.0
Выпущено: 13 марта 2026 г.

Скачайте драйвер Microsoft JDBC 13.4.0 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 13.4.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 13.4

Функция Сведения
Поддержка подтипов VECTOR(FLOAT16) Реализована поддержка подтипа VECTOR(FLOAT16), включая согласование функций и соответствие IEEE-754 сериализации и десериализации между Java Float[] и форматом провода с половинной точностью. Дополнительные сведения см. в разделе "Использование векторного FLOAT16 типа данных с драйвером JDBC".
Введение prepareMethod=scopeTempTablesToConnection в PreparedStatements с временными таблицами Новый параметр prepareMethod, который ограничивает временные таблицы, созданные в подготовленных инструкциях для подключения, с помощью подстановки литеральных параметров вместо подготовленных дескрипторов на стороне сервера.
Добавить путь выполнения =none Новая опция prepareMethod=none, которая принудительно осуществляет подстановку литеральных параметров через пакетное выполнение SQL, обходя дескрипторы подготовленных инструкций на стороне сервера (sp_prepexec / sp_prepare).
Логгер производительности и обратный вызов Внедрена платформа регистрации производительности для отслеживания критически важных операций драйвера, таких как время подключения, предварительный вход, вход и получение токена.
Метрики средства ведения журнала производительности Statement-Level Расширенное средство ведения журнала производительности для записи подробных метрик выполнения Statement и PreparedStatement (REQUEST_BUILD, FIRST_SERVER_RESPONSE, PREPARE, PREPEXEC, EXECUTE).
Удаление зависимости от ADAL — миграция интегрированной аутентификации Entra ID (Active Directory) на mssql-auth.dll API Заменен устаревшим adal.dll потоком mssql-auth.dll.
Отправка сведений об агенте пользователя с помощью расширения компонента TDS Сведения об агенте пользователя отправляются на сервер с помощью нового расширения компонента TDS LOGIN7 (USERAGENT).
Поддержка Java 25 Драйвер официально поддерживает пакет средств разработки Java (JDK) версии 25.0.

Изменения в версии 13.4

Изменение Сведения
Рефакторинг DatabaseMetaData.getColumns() для использования sp_columns_170 с резервным вариантом GetColumns() теперь предпочитает sp_columns_170 (SQL Server 2025) для точных метаданных новых типов, таких как VECTOR и расширенный JSON, с автоматическим резервным переходом к sp_columns_100.
Обновление версий для решения проблем CVE в транзитивных зависимостях Обновлено azure-identity до 1.18.2 и msal4j до 1.23.1, что в свою очередь обновляет транзитивные зависимости, включая Netty (4.1.130.Final), Reactor Netty (1.2.13) и Nimbus JOSE JWT (10.0.1).
Обновление версии пакета в манифесте для включения JRE Suffix Bundle-Version в манифесте теперь включает суффикс jre8/jre11, чтобы соответствовать имени JAR-файла.

Исправления в версии 13.4

Исправить Сведения
Устранение проблем выполнения хранимых процедур в межбазовых операциях с именованными параметрами Убедились, что sp_sproc_columns полностью квалифицирована с указанием database.sys, чтобы избежать ошибок контекста. Проблема GitHub #2895.
Цепочка исключений для ошибок вложенных хранимых процедур Несколько вложенных вызовов RAISERROR теперь отображаются правильно через SQLException.getNextException. Проблема GitHub #2886.
Удаление устаревших комментариев разделителя regex (bulk CSV) Обновленный комментарий документации по API, чтобы уточнить, что разделители рассматриваются как литеральный текст в SQLServerBulkCSVFileRecord. Проблема GitHub #2880.
Поддержка улучшения целостности SQL Server в supportIntegrityEnhancementFacility Исправлены метаданные, чтобы отразить поддержку ограничений целостности в SQL Server. Проблема GitHub #2745.
Исправление синтаксического анализа координат географической области с помощью научной нотации Предотвращён NumberFormatException при разборе географических координат, выраженных в научной нотации. Проблема GitHub #2837.
Пакетная вставка с использованием Bulk Copy: корректный механизм обхода для функций SQL Автоматический резервный переход к стандартному пакетному выполнению, когда функции SQL используются в вставках в пакетах массового копирования. Проблема GitHub #2845.
Исправление пакетной вставки данных массового копирования для сохраненных вычисляемых столбцов Исправлена логика проверки назначения столбца, чтобы игнорировать вычисляемые постоянные столбцы при пакетной вставке методом массового копирования. Проблема GitHub #2855.
Устранение конфликта сортировки в DatabaseMetaData.getIndexInfo() при использовании UNION ALL Устранены конфликты сортировки, возникающие, когда параметры сортировки сервера и базы данных отличаются в запросе, выполняемом вызовом getIndexInfo. Проблема GitHub #2867.
Исправление getSchemas() возвращая значение NULL TABLE_CATALOG для встроенных схем Исправлена логика разрешения каталога для встроенных схем, таких как dbo, sysи т. д. проблема GitHub #2872.
Исправление пропуска счётчика обновлений в инструкции execute() после ошибки пакетной обработки. Предотвращена потеря допустимых счетчиков обновлений после ошибки при смешанном выполнении пакета. Проблема GitHub #2866.
Поддержка проверки IP-адресов в сертификате SAN Добавлена проверка IP-адресов на соответствие RFC 5280 в SAN-проверках сертификатов TLS/SSL. Проблема GitHub #2873.
Массовая вставка синтаксического анализа изолированных кавычки в данных с разделителями табуляции Исправлено IndexOutOfBoundsException, вызванное неправильной обработкой состояния кавычек во время операций массового копирования с разделителями табуляции. Проблема GitHub #2795.
Число обновлений PreparedStatement INSERT с триггерами и многозначными вставками Исправлено число неточных обновлений, возвращаемых Параметром PreparedStatement для инструкций INSERT с несколькими значениями с триггерами. Проблема GitHub #2817.
Исправление обработки фатальных ошибок в токенах DONE Исправлена обработка сообщений TDS для правильного обнаружения и распространения ошибок смертельной серьезности (25+). Проблема GitHub #2741.
Исправление сбоя getParameterMetaData() с использованием табличных параметров Предотвращено возникновение SQLServerException при вызове getParameterMetaData() для инструкций при использовании Таблично-Значимых Параметров (TVPs). Проблема GitHub #2746.
supportsIntegrityEnhancementFacility() возвращает точное значение Исправлен метод DatabaseMetaData.supportsIntegrityEnhancementFacility(), который теперь возвращает значение true для SQL Server. Проблема GitHub #2828.
Исправление пакетного копирования для вставки партий для обеспечения поддержки данных InputStream Включена возможность setBinaryStream() корректно работать с массовым копированием при пакетной вставке в столбцы VARBINARY(MAX). Проблема GitHub #2826.
Устранен сбой в бессерверном пуле SQL Azure Synapse, вызванном неподдерживаемой процедурой sp_statistics Добавлен резервный вариант try-catch в getIndexInfoAzureDW() для запроса sys.indexes, sys.index_columns, sys.columns и sys.tables при недоступности sp_statistics. Проблема GitHub #2839.

Предыдущие выпуски

13.2

Скачайте драйвер Microsoft JDBC 13.2.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 13.2.1 для SQL Server (tar.gz)

Номер выпуска: 13.2.1
Выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие требованиям 13.2

Изменение соответствия Сведения
Скачайте последние обновления для JDBC Driver 13.2. GitHub, 13.2.0Maven Central
Полностью соответствует спецификации API JDBC версии 4.2. Файлы JAR в пакете 13.2 называются в соответствии с совместимостью версий Java.

Например, файл mssql-jdbc-13.2.0.jre11.jar из пакета 13.2 должен использоваться с Java 11 (или более поздней версии).
Совместим с пакетом разработки Java (JDK) версии 22.0, 21.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 13.2 для SQL Server теперь совместим с пакетом средств разработки Java (JDK) версии 22.0 в дополнение к JDK 21.0, 17.0, 11.0 и 1.8.

Выпуски 13.2

Номер выпуска: 13.2.1
Выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 13.2.1:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.
  • Совместимость JDK 8 для обработки типов векторных данных
  • Устранен сбой PreparedStatementgetGeneratedKeys() с триггерами
  • Исправлена DatabaseMetaData.getIndexInfo()NON_UNIQUE несогласованность значений
  • Исправлено DatabaseMetaData.getIndexInfo() исключение из-за недопустимой позиции курсора
  • Исправлено восстановление сеанса для базы данных SQL Azure при подключении в режиме перенаправления.

Скачайте драйвер Microsoft JDBC 13.2.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 13.2.1 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 13.2.0
Выпущено: 15 августа 2025 г.

Скачайте драйвер Microsoft JDBC 13.2.0 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 13.2.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 13.2

Функция Сведения
Поддержка типов данных JSON Встроенная поддержка нового типа данных JSON SQL Server с API для вставки, выбора, хранимых процедур и массового копирования. Дополнительные сведения см. в разделе "Использование типа данных JSON с драйвером JDBC".
Указания по заказу для операций массового копирования Поддержка указания порядка при использовании SQLServerBulkCopy для повышения производительности массового копирования.
Добавление новых доверенных URL-адресов AKV для FR и DE Зарегистрированы четыре новых конечных точка Azure Key Vault и управляемых конечных точек HSM для Франции и Германии.
Поддержка типа векторных данных КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ Встроенная поддержка нового типа данных VECTOR SQL Server с API для вставки, выбора, хранимых процедур и массового копирования. Дополнительные сведения см. в разделе "Использование векторных данных" с драйвером JDBC.

Эта функция является критическим изменением. Предыдущие версии драйвера получают типы векторных данных от сервера в виде строк JSON. Версия 13.2 распознает новый тип вектора SQL в собственном коде, предоставляя его приложениям в качестве типа вектора по умолчанию. Чтобы сохранить предыдущее поведение типов векторов, предоставляемых в виде строк JSON, задайте для параметра подключения значение vectorTypeSupportoff. Для получения дополнительной информации см. Настройка свойств подключения.
Новые параметры подключения, quotedIdentifier, и concatNullYieldsNull Новые параметры подключения, quotedIdentifier и concatNullYieldsNull, чтобы управлять параметрами сеанса QUOTED_IDENTIFIER и CONCAT_NULL_YIELDS_NULL как для новых, так и для консолидированных подключений.
Поддержка темпоральных и денежных типов данных при использовании массового копирования для операций пакетной вставки Поддержка пакетных вставок DATETIME, DATE, MONEY и т. д. при использовании useBulkCopyForBatchInsert параметра.

Изменения в версии 13.2

Изменение Сведения
Используется sys.all_objects для точной фильтрации функций и процедур. Обновлены getFunctions() и getProcedures(), чтобы использовать sys.all_objects для предоставления правильных результатов после фильтрации.

Исправления в версии 13.2

Исправить Сведения
Исправление обработки null-значений в темпоральных типах при массовом копировании Правильно обрабатывать значения NULL для темпоральных типов, когда sendTemporalDataTypesAsStringForBulkCopy является false. Проблема GitHub #2702.
Исправление вставки строк с использованием API массового копирования, когда sendStringParametersAsUnicode является false Устранена проблема, из-за которой строки вставлялись в виде массивов байтов в режиме пакетного массового копирования, если для sendStringParametersAsUnicode установлено значение false. Проблема GitHub #2704.
Восстановление сеанса с аутентификацией Microsoft Entra ID и режимом перенаправления Сведения о перенаправлении теперь учитываются при восстановлении сеанса при использовании проверки подлинности Microsoft Entra ID. Проблема GitHub #2668.
Предупреждения о сборке Javadoc Удален недопустимый синтаксис Javadoc. Проблема GitHub #2640.
OffsetDateTime форматирование в SQLServerDataTable Метод OffsetDateTimetoString() пропускал секунды, когда значение секунд равно нулю, что привело к тому, что сервер отклонил эти записи. Используется DateTimeFormatter для предотвращения недопустимого формата. Проблема GitHub #2652.
Сравнение строк в SQLServerDataTable.equals() Заменено == на .equals() в строках. Проблема GitHub #2653.
PreparedStatement Кэширование метаданных для зашифрованных столбцов Исправлена потеря метаданных типа во время PreparedStatement повторного использования. Проблема GitHub #2663.
Сделать модуль безопасности IBM необязательным Зависимость безопасности IBM теперь является необязательной. Проблема GitHub #2636.
Аннулировать сеанс анклава при повторном подключении Кэш сеансов анклава перестал повторно использоваться при повторных подключениях, чтобы избежать недопустимого кэша сеансов после переключения на резервный сервер. Проблема GitHub #2638.
Обработка ошибок пути к файлу в ConfigurableRetryLogic Надежное управление ошибками для отсутствующих или нечитаемых конфигурационных файлов повторных попыток. Проблема GitHub #2650.
Исправление пакетной вставки для несоответствия имени столбца с учетом регистра executeBatch() теперь учитывает чувствительность к регистру параметров сортировки при сопоставлении имен столбцов. Проблема GitHub #2695.
releaseSavepoint Тип исключения, стандартизованный для SQLFeatureNotSupported SQLServerException заменен на SQLFeatureNotSupportedException для соответствия спецификации JDBC. Проблема GitHub #2583.
ActiveDirectoryPassword аутентификация устарела Добавлено предупреждение об устаревании для метода аутентификации паролем Microsoft Entra ID. Проблема GitHub #2624.
Включите индексы Columnstore в getIndexInfo() sp_statistics Заменен пользовательским запросом для поддержки всех типов индексов. Проблема GitHub #2598.
Исправленная фильтрация схемы в getSchemas() Что изменилось: убедитесь, что схемы правильно фильтруются при указании имени каталога. Проблема GitHub #2643.
Увеличение ограничения перенаправления Повышение максимального количества прыжков перенаправления от 1 до 10. Проблема GitHub #2659.
Устранена trustStoreType ошибка обращения к свойствам JVM в подключениях TLS/SSL. Добавлена комплексная логика консультаций по системным свойствам JVM, которая соответствует стандартной иерархии разрешения свойств Java. Проблема GitHub #2724.
Правильно вставлять акцентированные символы при использовании массового копирования и строк, отличных от Юникода Обновлено executeBatch() для передачи правильного databaseCollation в логику преобразования. Убедитесь, что массивы байтов преобразуются обратно в строки с использованием фактической сортировки базы данных, предотвращая несоответствие кодировки. Проблема GitHub #2727.
Обработка комментариев SQL при запуске запроса в getGenerateKeys() методе Заменена наивная проверка INSERT функцией isInsert , чтобы гарантировать получение созданных ключей, даже если запросы начинаются с комментариев. Проблема GitHub #2731.

12.10

Скачайте драйвер Microsoft JDBC 12.10.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.10.2 для SQL Server (tar.gz)

Номер выпуска: 12.10.2 Выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие требованиям 12.10

Изменение соответствия Сведения
Скачайте последние обновления для JDBC Driver 12.10. GitHub, 12.10.0
• Maven Central
Полностью соответствует спецификации API JDBC версии 4.2. Jars в пакете 12.10 называются в соответствии с совместимостью версий Java.

Например, файл mssql-jdbc-12.10.0.jre11.jar из пакета 12.10 должен использоваться с Java 11 (или более поздней версии).
Совместим с пакетом разработки Java (JDK) версии 22.0, 21.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 12.10 for SQL Server теперь совместим с пакетом средств разработки Java (JDK) версии 22.0 в дополнение к JDK 21.0, 17.0, 11.0 и 1.8.

Выпуски 12.10

Номер выпуска: 12.10.2
Выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 12.10.2:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.

Скачайте драйвер Microsoft JDBC 12.10.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.10.2 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.10.1
Выпущено: 18 июня 2025 г.

Исправлены проблемы в версии 12.10.1:

  • Обновлена упаковка OSGi для того, чтобы сделать com.ibm.security.auth.module и com.sun.security.auth.module необязательными импортами, что предотвращает сбои при развертывании.
  • Аннулировать существующий сеанс анклава при подключении или переподключении
  • Обновлено readFromFile() в ConfigurableRetryLogic для решения проблем, связанных с filePath
  • Увеличено максимальное значение noOfRedirections на одно подключение до 10.
  • Исправлена логика определения параметров нового типа в doExecutePreparedStatement
  • Исправлено восстановление сеанса для базы данных SQL Azure при подключении в режиме перенаправления.

Скачайте драйвер Microsoft JDBC 12.10.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.10.1 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.10.0
Выпущено: 07 марта 2025 г.

Скачайте драйвер Microsoft JDBC 12.10.0 для SQL Server (zip)
Скачайте Microsoft JDBC Driver 12.10.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 12.10

Функция Сведения
Поддержка Java 23 Теперь драйвер совместим с пакетом средств разработки Java (JDK) версии 23.0 в дополнение к JDK 21.0, 17.0, 11.0 и 1.8.
Добавлена возможность установки SQLServerBulkCopy параметров в PreparedStatement Для настройки SQLServerBulkCopyOptions в PreparedStatement при использовании useBulkCopyForBatchInsert=true, появились новые параметры строки подключения и метод API setBulkCopyOptions.
Добавлена настраиваемая логика повторных попыток, поддерживающая как повторные попытки выполнения операторов, так и подключения. Добавлена настраиваемая логика повторных попыток для инструкций SQL, что позволяет определять правила в строке подключения или mssql-jdbc.properties файле. Правила указывают ошибки для повтора, количество повторных попыток и время между повторными попытками. Логика повторных попыток гарантирует выполнение повторных попыток только при выполнении указанных условий, таких как сопоставление кодов ошибок и запросов.

Изменения в версии 12.10

Изменение Сведения
Проверьте наличие NULL при получении значений DTV Добавлена проверка на значение DTVImpl null перед вызовом DTVImpl::getValue. Эта проверка показывает повышение производительности во внутренних тестах. Это исправление изменяет поведение getBinaryStream и getAsciiStream в ResultSet для соответствия спецификациям JDBC API. Возвращается: входной поток Java, который предоставляет значение столбца базы данных в виде потока однобайтовых символов ASCII; Если значение равно SQL NULL, возвращаемое значение равно NULL.
Добавлен com.ibm.security.auth.module и com.sun.security.auth.module в качестве параметра импорта Установите параметр разрешения=необязательно для этих импортов OSGi, чтобы предотвратить сбои развертывания, вызванные обязательными импортами.
Отменена функция "Выполнить хранимые процедуры напрямую" и последующие изменения, связанные с этой функцией. Отменял функцию из-за проблем и регрессий, введенных этими изменениями.
Изменено ведение журнала MSAL с FINEST на FINER Это изменение вносится для уменьшения многословности журналов, при этом предоставляя достаточно сведений для устранения неполадок при проверке подлинности.
Обновлены зависимости Обновлены версии зависимостей для azure-identity, bouncycastle и msal.

Исправления в версии 12.10

Исправить Сведения
Исправлено, NullPointerException когда операция массового копирования выполняется в вычисляемом столбце Исправлена ошибка NullPointerException, возникающая при выполнении операции массового копирования в вычисляемом столбце путем итерации по набору ключей в карте. Проблема GitHub #2606.
Исправлено разрешение модуля входа на необязательный Исправлена проблема, из-за которой манифест JAR содержал необязательное объявление импорта для com.ibm.security.auth.module и com.sun.security.auth.module, которое должно быть объявлено с разрешением:=optional. Проблема GitHub #2608.
Исправлена область действия BULK_COPY_OPERATION_CACHE Исправлена проблема, при которой BULK_COPY_OPERATION_CACHE было определено в глобальной области вместо области подключения, что вызывало неправильные попадания в кэш между подключениями и потенциальные проблемы с переполнением памяти. Проблема GitHub #2585.
Исправлена проблема с методом проверки isIBM для использования правильного модуля входа Исправлен метод generateDefaultConfiguration для динамической проверки:com.sun.security.auth.module.Krb5LoginModule если метод доступен, он используется; в противном случае возвращается к com.ibm.security.auth.module.Krb5LoginModule. Проблема GitHub #2576.
Исправлена проблема с SQLServerBulkCopy из CSV-файла, в котором setEscapeColumnDelimerts установлено в true. Исправлена регрессия начиная с версии 12.8.1, при которой метод readLineEscapeDelimitersSQLServerBulkCSVFileRecord пропустил обработку случая CSV-файла без символа новой строки в конце последней строки. Проблема GitHub #2573.
Исправлено OffsetDateTime преобразование для дат до григорианского календаря Исправлено преобразование из DateTimeOffset в OffsetDateTime для использования класса Calendar, чтобы обрабатывать даты до григорианского календаря. Проблема GitHub #2565.
Исправлена getGeneratedKeys функция выполнения API Исправлена функциональность getGeneratedKeys для API execute, чтобы правильно сообщать о количестве обновлений и последующих результирующих наборах. Проблема GitHub #2550.
Исправлена проблема, из-за которой SQLServerConnection можно было ввести бесконечный цикл Исправлен бесконечный цикл в SQLServerConnection за счет обеспечения закрытия всех операторов в openStatements и их явного удаления, а bIsClosed и openStatements объявлены как volatile. Проблема GitHub #2537.
Исправлено удаление вопросительных знаков из меток столбцов (псевдонимы) Исправление для улучшения обработки ошибок в методе buildExecuteMetaData с целью лучшего управления SQLServerException, обеспечивая правильную обработку меток столбцов (псевдонимов) с вопросительными знаками. Проблема GitHub #2535.
Исправлен механизм проверки подлинности Kerberos для обеспечения совместимости с Java 17 и выше Исправление решает проблему устаревшего метода Subject.getSubject(), возвращаясь к альтернативному API при возникновении исключения об устаревании. Проблема GitHub #2524.

12,8

Скачайте драйвер Microsoft JDBC 12.8.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.8.2 для SQL Server (tar.gz)

Номер выпуска: 12.8.2 выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие 12.8

Изменение соответствия Сведения
Скачайте последние обновления для JDBC Driver 12.8. • GitHub, 12.8.0
• Maven Central
Полностью соответствует спецификации API JDBC версии 4.2. Файлы JAR в пакете 12.8 названы с учётом совместимости с версиями Java.

Например, файл mssql-jdbc-12.8.0.jre11.jar из пакета 12.8 должен использоваться с Java 11 (или выше).
Совместим с пакетом разработки Java (JDK) версии 22.0, 21.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 12.8 для SQL Server теперь совместим с пакетом разработки Java (JDK) версии 22.0 в дополнение к JDK 21.0, 17.0, 11.0 и 1.8.

Выпуски 12.8

Номер выпуска: 12.8.2 выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 12.8.2:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.

Скачайте драйвер Microsoft JDBC 12.8.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.8.2 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.8.1 Выпущено: 22 августа 2024 г.

Изменения в версии 12.8.1:

  • Изменено журналирование MSAL с FINER на FINEST

Исправлены проблемы в версии 12.8.1:

  • Скорректирован DESTINATION_COL_METADATA_LOCK в SQLServerBulkCopy, чтобы он правильно освобождался во всех случаях.
  • Изменено поведение драйвера, позволяющее повторно использовать объекты подготовленной инструкции, предотвращая ошибку "несколько запросов не разрешено"
  • Отменена функция "Выполнить хранимые процедуры напрямую" и последующие изменения, связанные с этой функцией.

Скачайте драйвер Microsoft JDBC 12.8.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.8.1 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.8.0
Выпущено: 31 июля 2024 г.

Скачайте драйвер Microsoft JDBC 12.8.0 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.8.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 12.8

Функция Сведения
Поддержка Java 22 Теперь драйвер совместим с пакетом средств разработки Java (JDK) версии 22.0 в дополнение к JDK 21.0, 17.0, 11.0 и 1.8.
Добавлено кэширование при использовании управляемого удостоверения или учетных данных Azure по умолчанию. Чтобы повысить производительность и надежность драйвера, драйвер теперь позволяет кэширование ранее упомянутых учетных данных.
Разрешить кэширование объекта SQLServerBulkCopy при использовании bulk copy для пакетной вставки Заменяет предыдущее поведение, при котором каждый вызов executeBatch() создавал новый объект SQLServerBulkCopy, путем вместо этого кэширования объекта.
Добавлено кэширование на уровне подключения для метаданных столбца назначения при массовом копировании Повышает производительность путем добавления кэширования на уровне подключения для метаданных целевого столбца в сценариях массового копирования. Эта функция включена путем установки свойства строки подключения cacheBulkCopyMetadata в значение true (значение по умолчанию false).
Добавлен обработчик сообщений SQL Server и поддержка цепочек SQLException Добавлен обработчик сообщений SQL Server, позволяющий использовать несколько функций, включая дополнительные отзывы для длительных запросов, универсального ведения журнала ошибок и автоматического понижения серьезности сообщений об ошибках от SQLException до SQLWarning. Кроме того, эта функция позволяет объединять sqlExceptions вместе, чтобы все сообщения об ошибках были доступны пользователю. См. Обработка ошибок.
Предоставлена полная поддержка RFC4180 для операций массового вставки CSV Поддержка полей в кавычках, содержащих переводы строк, отсутствовала для обеспечения полной совместимости с RFC4180. Теперь эта поддержка добавлена.
Разрешить создание экземпляра microsoft.sql.DateTimeOffset из значения java.time.OffsetDateTime Преобразование между двумя типами данных уже существовало в драйвере с помощью посредника Timestamp. Это дополнение удаляет этот промежуточный элемент, повышая производительность и уменьшая вероятность ошибок, связанных с часовой поясом.

Изменения в версии 12.8

Изменение Сведения
Перечисление теперь публичное Изменена видимость перечисления SQLServerSortOrder на общедоступную, что дает пользователям большую гибкость в запросах, использующих это перечисление.
Удалите synchronized из переопределений Socket Неправильно добавленные в предыдущие изменения для соответствия стандартам проверки кода методы на самом деле не должны быть синхронизированы, и они изменены, чтобы это учесть.
Изменены предыдущие изменения RMERR/RMFAIL, установив по умолчанию RMFAIL Предыдущие изменения изменили значение XAER_RMFAIL на XAER_RMERR для отдельных случаев, однако эти случаи быстро стали большинством всех охваченных случаев. Решение состоит в том, чтобы изменить значение по умолчанию на RMFAIL и преобразовать в RMERR для обратных случаев по сравнению с ранее указанными.
Обновлены зависимости Обновлены версии зависимостей для azure-identity, bouncycastle и msal.
Обновленная поддержка для TDSType.GUID Улучшает добавление оригинальной поддержки TDSType.GUID, позволяя напрямую передавать UUID в метод setObject.
Добавлено логирование в кэширование токенов Добавлено больше логирования для сценариев кэширования токенов, чтобы помочь в сценариях отладки.

Исправления в версии 12.8

Исправить Сведения
Исправлена регрессия с указанием имен аргументов в синтаксисе вызываемой инструкции Исправлена регрессия от 12.6.2 --> 12.6.3, где CallableStatements определенный формат возвращал неверные значения. Проблема GitHub #2477.
Исправлен синтаксический анализ скобок в хранимых процедурах и функциях. Исправлена проблема, из-за которой вызов функции с круглыми скобками в конце в вызываемой инструкции, например, function() vs function, приводил к тому, что возвращаемое значение всегда было равно 0. Это изменение было регрессией с 12.6.2 --> 12.6.3. Задача GitHub №2463.
Исправлена ошибка, из-за которой драйвер не учитывал CallableStatement с аргументами по умолчанию. Исправлена ошибка, которая была регрессией с версии 12.5.0 до 12.6.0, где аргументы по умолчанию в вызываемых инструкциях игнорировались. Проблема GitHub №2446.
Исправление для удаления TokenCredential класса, для которого драйвер не требуется TokenCredentialClass не требуется в SQLServerSecurityUtility и может вызвать неверное исключение NoClassDefFoundError. Это исправление удаляет импорт, заменив его универсальным Object. Задача GitHub №2439.
Исправлена ошибка преобразования строк метки времени для CallableStatements Исправлено исключение преобразования, которое возникало при вызове входного/выходного параметра DateTime во время задания значения String. GitHub Issue #2436.
Исправлен SqlAuthenticationToken конструктор для корректного приема параметра Конструктор SQLAuthenticationToken был неправильным, так как работал с входным параметром в секундах, тогда как должен был использовать миллисекунды. GitHub Issue #2424.
Исправление для очистки подготовленного дескриптора инструкций перед повторной подключением Это устраняет проблему, из-за которой неправильные дескрипторы использовались после SQLServerPreparedStatement повторного подключения путем правильной очистки SQLServerPreparedStatement.prepStmtHandle перед повторным подключением. GitHub Issue #2364
Исправление для очистки подготовленного кэша инструкций при сбросе подключения к пулу инструкций Это исправляет проблему, приводящую к отсутствию или неправильной вставке записей при повторном использовании подключения из ConnectionPool с включенным пулом инструкций. Проблема GitHub #2356.
Исправить, чтобы отвязать socketTimeout от loginTimeout socketTimeout должен иметь верхнюю границу loginTimeout при установлении соединения, но не должен иметь верхней границы после подключения драйвера. Это изменение исправляет это поведение. Проблема GitHub #2354.
Исправление, чтобы правильно проверить, является ли счетчик TDSCommand равным NULL перед попыткой его увеличения. Добавляет недостающую null проверку для счетчика TDSCommand, предотвращая NullPointerException, что в противном случае может возникнуть. GitHub Issue #2353.
Исправление процедур вызова с выходными параметрами по их четырехкомпонентному синтаксису Устранена проблема, из-за которой вызов хранимых процедур с четырехкомпонентным синтаксисом (т. е. с связанным сервером) приводил к ошибке с указанием недопустимого потока протокола TDS. Проблема GitHub #2344.
Исправление для правильного обхода параметров schema для getProcedures и getProcedureColumns Методы SQLServerDatabaseMetadata, getProcedures и getProcedureColumns не должным образом экранировали определенные символы (например, \) при использовании параметра schema. Это изменение исправляет эту проблему. Проблема GitHub #2336.
Добавлена карта кэша токенов, чтобы устранить использование непреднамеренного токена аутентификации для последующих подключений. Это устраняет проблему, из-за которой учетные данные клиента могут быть непреднамеренно использованы повторно. Хотя маркер проверки подлинности был правильно кэширован, драйвер повторно использовал маркер только с измененным секретом клиента. Проблема GitHub #2334.
Исправлена поддержка эскап-синтаксиса exec в CallableStatements Это устраняет проблему, из-за которой после удаления упакованных sp_executesql/sp_prepexec вызовов для быстрого CallableStatements выполнения EXEC вызовы больше не работали. GitHub Issue #2325.
Обеспечить, что Money и SmallMoney находятся в правильных диапазонах для массового копирования Это устраняет проблему, из-за которой при использовании массового копирования с значениями Money или SmallMoney преобразование в эти значения или из них может вызвать ArithmeticOverflowException. Проблема GitHub #2309.
Исправление, чтобы гарантировать корректность данных для всех столбцов в ResultSetMetadata и DatabaseMetadata.getColumns() Возвращенные метаданные были неверны для некоторых столбцов, это изменение исправляет эту проблему. Проблема GitHub #2232.
Исправление для правильного отключения повторных попыток подключения при connectRetryCount установке 0 Это исправляет поведение, в котором, даже если connectRetryCount задано значение 0, драйвер продолжает попытки, пока не достигнет loginTimeout. Проблема GitHub #2232. Проблема GitHub #2188.
Исправление ClassLoader для устранения утечки ActivityCorrelatorThreadLocal Устранена проблема, из-за которой после изменений предыдущего драйвера ActivityId, ThreadLocal никогда не удаляется из потока ActivityCorrelator.
Исправление для непосредственного выполнения хранимых процедур при вызовах RPC. Вызовы RPC использовали старую логику, будучи обёрнутыми в вызовы sp_executesql; это изменение исправляет данное поведение.

12,6

Скачайте драйвер Microsoft JDBC 12.6.5 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.6.5 для SQL Server (tar.gz)

Номер выпуска: 12.6.5 Выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие требованиям 12.6

Изменение соответствия Сведения
Скачайте последние обновления для JDBC Driver 12.6. • GitHub, 12.6.0
• Maven Central
Полностью соответствует спецификации API JDBC версии 4.2. Файлы jar в пакете 12.6 названы с учётом совместимости с версиями Java.

Например, файл mssql-jdbc-12.6.0.jre11.jar из пакета 12.6 должен использоваться с Java 11 (или выше).
Совместим с пакетом средств разработки Java (JDK) версии 21.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 12.6 для SQL Server теперь совместим с пакетом средств разработки Java (JDK) версии 21.0 в дополнение к JDK 17.0, 11.0 и 1.8.

Выпуски 12.6

Номер выпуска: 12.6.5
Выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 12.6.5:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.

Скачайте драйвер Microsoft JDBC 12.6.5 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.6.5 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.6.4
Выпущено: 29 августа 2024 г.

Исправлены проблемы в версии 12.6.4:

  • Отменена функция "Выполнить хранимые процедуры напрямую" и последующие изменения, связанные с этой функцией.

Скачайте драйвер Microsoft JDBC 12.6.4 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.6.4 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.6.3
Выпущено: 20 июня 2024 г.

Исправлены проблемы в версии 12.6.3:

  • Исправлена проблема, из-за которой TokenCredential нужно было импортировать класс
  • Исправлена ошибка преобразования строки метки времени
  • Исправлена регрессия SQLServerCallableStatement значений по умолчанию

Скачайте Microsoft JDBC Driver 12.6.3 для SQL Server (zip)
Скачать драйвер Microsoft JDBC 12.6.3 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.6.2
Выпущено: 23 мая 2024 г.

Добавлены функции в версии 12.6.2:

  • Добавлено кэширование учетных данных для управляемых удостоверений и учетных данных Azure по умолчанию.

Исправлены проблемы в версии 12.6.2:

  • Проверьте, что деньги и мелочь находятся в правильном диапазоне для массового копирования.
  • Проверьте, равен ли счетчик TDSCommand значению NULL перед инкрементацией.
  • Очистка подготовленного кэша заявлений при сбросе подключения к пулу заявлений
  • Очистка дескриптора подготовленной инструкции перед повторной подключением
  • Вызовы RPC для CallableStatements выполняются напрямую
  • Исправленный объект токена аутентификации с поддержкой указания срока действия в миллисекундах
  • SocketTimeout должен быть неограниченным loginTimeout после успешного открытия соединения

Скачайте Microsoft JDBC Driver 12.6.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.6.2 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.6.1
Выпущено: 20 февраля 2024 г.

Исправлены проблемы в версии 12.6.1:

  • Исправлен синтаксис escape-кода EXEC для CallableStatements

Скачайте драйвер Microsoft JDBC 12.6.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.6.1 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.6.0
Выпущено: 31 января 2024 г.

Скачайте драйвер Microsoft JDBC 12.6.0 для SQL Server (zip)
Скачайте Microsoft JDBC Driver 12.6.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 12.6

Функция Сведения
Поддержка Java 21 Теперь драйвер совместим с пакетом средств разработки Java (JDK) версии 21.0 в дополнение к JDK 17.0, 11.0 и 1.8.
Разрешить вызов хранимых процедур непосредственно с помощью нового свойства подключения useFlexibleCallableStatements Теперь драйвер вызывает хранимые процедуры напрямую, вместо того чтобы обертывать процедуру вокруг exec sp_executesql, что упрощает процедуру и улучшает производительность.
Добавлено свойство строки подключения useDefaultJaasConfig Если задано значение true, разрешает проверку подлинности Kerberos без дополнительной внешней конфигурации.
Добавлено useDefaultGSSCredential свойство строки подключения Если задано значение true, драйвер может создавать GSSCredential от имени пользователя при использовании встроенного GSS-API для проверки подлинности Kerberos.
Добавлено calcBigDecimalPrecision свойство строки подключения Если задано значение true, драйвер может вычислить точность входных BigDecimal данных.
Добавлены новые именованные логгеры для повторных попыток открытия соединений и переподключений для устойчивости соединений в период простоя. Повторные попытки открытия соединения используют категорию журналирования перенаправления и могут использоваться на уровне журналирования FINE. Устойчивость бездействия подключения повторно подключается к категории ведения журнала устойчивости и может использоваться на уровнях ведения журнала FINE или FINER.

Изменения в версии 12.6

Изменение Сведения
Изменен способ проверки IBM JDK на наличие проблем с средами OSGi Изменено с проверки только имени поставщика на проверку как имени поставщика, так и имени виртуальной машины.
Все вызовы MSAL синхронизированы правильно Запрещает водителю делать дополнительные звонки и доказывать ненужные диалоги.
Добавлены дополнительные ошибки, которые должны переводиться в RMFAIL Добавлены дополнительные случаи, "сброс подключения по одноранговой системе" и "время ожидания подключения", которое должно быть равно RMFAIL
Изменение способа использования меток времени в массовом копировании Измените поведение массового копирования с сериализации и десериализации объектов метки времени непосредственно на использование объектов, что приводит к улучшению производительности при использовании многих меток времени.
Изменено socketTimeout, чтобы убедиться, что оно правильно меньше, чем loginTimeout Ранее socketTimeout действовали независимо от loginTimeout что привело к потенциально запутанным поведению, где водитель займет больше времени ожидания, чем ожидалось. Эта проблема устранена, поэтому socketTimeout всегда имеет верхнюю границу, равной loginTimeout.
Настроил PreparedStatement кэш так, чтобы он очищался перед каждым выполнением команды. Кэш PreparedStatement не очищался правильно, что в дополнение к его редкости может привести к проблемам с памятью с течением времени. Это изменение гарантирует очистку кэша перед каждым выполнением, предотвращая накопление объектов.
Обновлено до новых версий зависимостей BouncyCastle Обновление с bcprov-jdk15on и bcpkix-jdk15on на bcprov-jdk18on и bcpkix-jdk18on, так как прежняя версия больше не обновляется.
Обновлены зависимости Обновлены версии зависимостей для azure-identity, azure-security-keyvault-keys, bouncycastle, h2 и msal.

Исправления в версии 12.6

Исправить Сведения
Исправлена ошибка отсутствия проверки на null для e.getCause() Исправлена проблема, из-за которой, если у исключения нет причины возникновения, само исключение передается вместо этого, предотвращая его утерю. Запрос GitHub №2299.
Исправлены блокировки в IOBuffer, чтобы предотвратить проблемы взаимоблокировки, которые могут возникнуть Исправлена реализация блокировок в IOBuffer, в частности вокруг функции отключения SSL, чтобы предотвратить взаимоблокировки, которые могут возникнуть в определенных ситуациях. Задача GitHub #2288. Проблема GitHub #2265.
Исправлена проблема с таймстемпами и массовым копированием для пакетной вставки Исправлено некорректное применение часового пояса к меткам времени при использовании пакетной вставки с массовым копированием. GitHub проблема #2271.
Исправлены отсутствующие методы получения и задания для useBulkCopyForBatchInsert Исправлена проблема, из-за которой поведение между SQLServerConnection и SQLServerConnectionPoolProxyне было одинаковым, хотя это должно быть так, потому что у useBulkCopyForBatchInsert отсутствовали аксессор и мутатор в случае с SQLServerConnectionPoolProxy. Проблема GitHub #2245.
Исправлен запрос метаданных массового копирования для использования кэшированных данных, если они доступны. Исправлена проблема, из-за которой, несмотря на кэшируемые данные, вызовы метаданных столбца вызываются каждый раз. Проблема GitHub №2224.
Была исправлена отсутствующая BigDecimal проверка масштаба для значений TVP. Исправлена проблема, из-за которой при записи значений строк TVP входные значения неправильно фильтровались по масштабу BigDecimal. Проблема GitHub #2222.
Исправлено schemaPattern в SQLServerDatabaseMetadata, чтобы гарантировать, что методы, использующие этот параметр, правильно экранируют его. Исправлена проблема, из-за которой schemaPattern был единственным шаблоном, который не экранировался должным образом в SQLServerDatabaseMetadata. Проблема GitHub #2186.
Исправлена проблема, из-за которой возвращалось значение NULL SQLState при попытке преобразовать дату в длинное целое число. Исправлена проблема, из-за которой, когда xopenStates установлен в true, драйвер не возвращает ожидаемый код состояния SQL-99 в конкретном случае. Проблема GitHub #2167.
Исправлена getMetaData ошибка для запросов, содержащих TOP Исправлена проблема, из-за которой при использовании квалификатора TOP в запросе драйвер возвращает ошибку относительно ParameterMetadata. GitHub Issue #1776.
Исправлена проблема синтаксического анализа имени таблицы при использовании пакетных вставок Исправлена проблема, из-за которой инструкции вставки с отсутствующим пробелом работали правильно в обычных случаях, но не при использовании пакетных вставок. Проблема GitHub #1534.
Исправление ошибки с ParameterMetadata и недопустимыми индексами Исправлена проблема с ParameterMetadata некорректной проверкой и вызовом исключений для недопустимого индекса 0. Проблема GitHub #1490.
Исправлено поведение ActivityID в ActivityCorrelator Улучшен процесс определения и использования ActivityID в соответствии с поведением других драйверов Microsoft.
Исправление, чтобы игнорировать вычисляемые столбцы при использовании массового копирования для пакетной вставки Исправлено поведение массового копирования, чтобы игнорировать вычисляемые столбцы и разрешить пакетные операции вставки, когда ранее вставка завершалась неудачей и возвращала ошибку, указывая на эти вычисляемые столбцы.
Исправлено поведение драйвера для подписей при использовании Хранилища ключей Java и Azure Key Vault Исправлена проблема, из-за которой драйвер неправильно проверял подпись при использовании Хранилища ключей Java и добавлял новый API для подписи метаданных главного ключа столбца (и возвращал созданную подпись) для использования с Хранилищем ключей Java и Azure Key Vault.
getObject()Исправлено ошибочное преобразованиеDateTimeOffset Исправлена проблема при вызове ResultSet.getObject() на столбце DateTimeOffset при использовании LocalDate/LocalTime/LocalDateTime в качестве аргумента класса, когда значение в столбце преобразуется в локальный часовой пояс.

12,4

Скачайте драйвер Microsoft JDBC 12.4.3 для SQL Server (zip)
Скачайте microsoft JDBC Driver 12.4.3 для SQL Server (tar.gz)

Номер выпуска: 12.4.3
Выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие требованиям 12.4

Изменение соответствия Сведения
Скачайте последние обновления для JDBC Driver 12.4. • GitHub, 12.4.0.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR файлы в пакете 12.4 именуются в соответствии с совместимостью версий Java.

Например, файл mssql-jdbc-12.4.0.jre11.jar из пакета 12.4 должен использоваться с Java 11 (или более поздней версии).
Совместим с пакетом разработки Java (JDK) версии 20.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 12.4 для SQL Server теперь совместим с пакетом средств разработки Java (JDK) версии 20.0 в дополнение к JDK 17.0, 11.0 и 1.8.

Выпуски 12.4

Номер выпуска: 12.4.3 Выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 12.4.3:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.

Скачайте драйвер Microsoft JDBC 12.4.3 для SQL Server (zip)
Скачайте microsoft JDBC Driver 12.4.3 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.4.2 Выпущено: 21 сентября 2023 г.

Исправлены проблемы в версии 12.4.2:

  • Отменена проверка IBM и возвращена проверка поставщика, а также добавлена дополнительная проверка имени виртуальной машины для исключения ложных срабатываний.

Скачать Microsoft JDBC Driver 12.4.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.4.2 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.4.1
Выпущено: 24 августа 2023 г.

Изменения в версии 12.4.1:

  • Готовые имена параметров SQL теперь имеют автоматическое интервалирование

Исправлены проблемы в версии 12.4.1:

  • Исправлен запрос getUserName метаданных в олицетворенный контекст безопасности в базе данных SQL Azure
  • Исправлено обнаружение IBM JDK
  • Исправлена ошибка, из-за которой подпись не заверяется для Хранилища ключей Java, и добавлен signColumnMasterkeyMetadata API в JKS и AKV.
  • Добавлена локализация строк ошибок, отсутствующих в исходном выпуске

Скачайте драйвер Microsoft JDBC 12.4.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC версии 12.4.1 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.4.0
Выпущено: 31 июля 2023 г.

Загрузите драйвер Microsoft JDBC 12.4.0 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.4.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 12.4

Функция Сведения
Поддержка Java 20 Теперь драйвер совместим с пакетом средств разработки Java (JDK) версии 20.0, а также JDK 17.0, 11.0 и 1.8.
Добавлено свойство строки подключения обратного вызова токена доступа Дополняет ранее реализованный обратный вызов маркера доступа, что позволяет передавать имя реализующего класс обратного вызова в строке подключения.
Добавлена поддержка параметра ActiveDirectoryServicePrincipalCertificate. Улучшение взаимодействия с пользователем за счет поддержки ActiveDirectoryServicePrincipalCertificate из библиотеки Azure Identity через параметр подключения authentication=ActiveDirectoryServicePrincipalCertificate.
Добавлен еще один случай для XAER_RMFAIL Драйвер по-прежнему возвращает XAException с ошибкой XAER_RMERR в некоторых случаях. В обработку ошибок XA был добавлен дополнительный случай для решения этой проблемы.

Изменения в версии 12.4

Изменение Сведения
Обновлена федеративная логика проверки подлинности для использования постоянного кэша токенов при получении токена. Это обновление повышает производительность в сценариях получения маркеров и упрощает совместимость с будущими версиями MSAL.
Разрешить попытку подключения к резервному партнеру при превышении времени ожидания сокета. Разрешает попытку повторного подключения с указанным резервным партнером после тайм-аута сокета.
Улучшенная производительность при создании определений типов параметров Путем предварительных вычислений размеров массивов и построителей строк, используемых в buildParamTypeDefinitions, а также путем удаления ненужных выделений строк, повышается производительность использования этого метода.
Изменено, отправленное serverName в LOGIN пакет для включения instanceName serverName теперь добавляется в конец instanceName в пакетах LOGIN.
Обновленный supportTransaction метод, который отражает, поддерживает ли сервер транзакции Устранена проблема, из-за которой connection.rollback не работала база данных Azure Synapse, так как Azure Synapse не поддерживает синтаксис, используемый в supportTransaction.
Обновление sp_cursor вызовов, чтобы имена таблиц передаются вместо пустой строки Устранена проблема, из-за которой неоднородные обновления ResultSet строк были получены при обновлении таблиц типа "один ко многим".
Обновлено supportsLikeEscapeClause() для проверки хранилища данных Azure Устранена проблема, из-за которой supportsLikeEscapeClause возвращало значение true для AzureDW, несмотря на то, что поддержка явно отсутствует.
Обновлена до последней спецификации OSGi JDBC Обновитесь с osgi.compendium 5.0.0 до osgi.service.jdbc 1.1.0, чтобы поддерживать соответствие спецификации OSGi JDBC 8.1.0.
Обновлены зависимости Обновлены версии зависимостей для azure-identity, azure-security-keyvault-keys, gson, h2 и msal.

Исправления в версии 12.4

Исправить Сведения
Исправлены проблемы с производительностью и памятью в BigDecimal Отменяет все изменения, начиная с выпуска 12.2, в отношении BigDecimal. Это устраняет проблемы с производительностью, которые наблюдались. Пользователи должны быть внимательными при использовании BigDecimal, чтобы предотвратить проблемы с усечением, которые были устранены ранее. Задача GitHub #2176.
Исправлена проверка сертификата сервера для encrypt=strict Исправление для обеспечения корректной проверки сертификата сервера в случаях, когда параметру encrypt задано значение strict. GitHub Issue #2174.
Исправлена ошибка, из-за которой lockTimeout не действовал при установке режима перенаправления в базе данных Azure. Исправлено, когда lockTimeout установлено, так как оно должно применяться только к подключениям извне Azure, а не из Azure, как это было ранее. GitHub Инцидент #2110.
Исправлено высокое количество потоков при использовании findSocketUsingThreading Устранена проблема, из-за которой необработанное исключение привело к прерыванию вызовов сна на более высоком уровне, что привело к слишком быстрым повторным вызовам. Проблема GitHub #2104.
Исправлено состояние гонки общего таймера Исправлено потенциальное конкурентное состояние в классе SharedTimer. GitHub Проблема #2085.
Исправлена ошибка с хранимыми процедурами и возвратом нулевого результата metaQuery. Исправлена проблема, при которой, если после выполнения хранимой процедуры metaQuery не возвращает результат, происходит ошибка неопределенности параметра. GitHub Issue #2063.
Исправлены ошибки при пакетной вставке, когда столбцы в вставке указаны в ином порядке по сравнению со схемой таблицы. Исправлена проблема, из-за которой использование useBulkCopyForBatchInsert=true может привести к перемешиванию столбцов и некорректным данным. Проблема GitHub #1992.
Исправлена обработка ошибок XA для повторного выброса XAER_RMFAIL вместо XAER_RMERR Исправлена проблема, из-за которой драйвер возвращал бы XAException с кодом ошибки XAER_RMERR, если произошел переключение при отказе SQL Server с первичного узла на резервный узел во время фиксации транзакции XA. Проблема GitHub #1432.
Исправлено поведение идентификатора действия и идентификатора клиента для обеспечения согласованности с спецификацией JDBC Исправлено поведение идентификатора активности, который должен оставаться неизменным в течение всего процесса, всегда отправлять идентификатор активности в PRELOGIN, и инкрементировать последовательность для каждого нового подключения. Также устранена проблема с идентификатором клиента, который теперь сохраняется на протяжении всего процесса.

12,2

Скачайте драйвер Microsoft JDBC 12.2.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.2.1 для SQL Server (tar.gz)

Номер выпуска: 12.2.1
Выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие требованиям 12.2

Изменение соответствия Сведения
Скачайте последние обновления для JDBC Driver 12.2. • GitHub, 12.2.0.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. Файлы JAR в пакете 12.2 названы в соответствии с совместимостью с версиями Java.

Например, файл mssql-jdbc-12.2.0.jre11.jar из пакета 12.2 должен использоваться с Java 11 (или более поздней версии).
Совместим с пакетом средств разработки Java (JDK) версии 19.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 12.2 для SQL Server теперь совместим с пакетом средств разработки Java (JDK) версии 19.0 в дополнение к JDK 17.0, 11.0 и 1.8.

Выпуски 12.2

Номер выпуска: 12.2.1 Выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 12.2.1:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.

Скачайте драйвер Microsoft JDBC 12.2.1 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.2.1 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 12.2.0
Выпущено: 31 января 2023 г.

Новые возможности в версии 12.2

Функция Сведения
Поддержка Java 19 Теперь драйвер совместим с пакетом средств разработки Java (JDK) версии 19.0 в дополнение к JDK 17.0, 11.0 и 1.8.
Добавлена поддержка обратного вызова токена доступа Позволяет клиентскому коду зарегистрировать обратный вызов в объекте DataSource , который возвращает маркер доступа.
Добавлена поддержка параметра DefaultAzureCredential. Улучшение пользовательского опыта за счет поддержки как DefaultAzureCredential, так и IntelliJCredential из библиотеки удостоверений Azure через параметр подключения authentication=ActiveDirectoryDefault.
Добавлено новое свойство datetimeParameterType подключения для указания типа данных, используемого для параметров метки даты и времени. Добавлено свойство подключения datetimeParameterType, которое позволяет пользователям явно указывать преобразования в datetime или datetime2, обеспечивая большую совместимость в старых базах данных.

Изменения в версии 12.2

Изменение Сведения
Сделан драйвер, совместимый с Loom. Заменяет synchronized(foo) на блокировки с повторным входом, повышая производительность при использовании Loom.
Аутентификация с помощью управляемой идентичности использует библиотеку Azure Identity Заменяет встроенный код драйвера для получения и кэширования токенов управляемой идентификации библиотекой аутентификации Azure. Это изменение добавляет поддержку Managed Identity для большего количества служб Azure по сравнению с ранее поддерживавшимися драйвером.
Сделать MSAL необязательным зависимостем Снова сделал msal4j необязательным зависимостем.
Обновлены зависимости Обновлены версии зависимостей для azure-identity, azure-security-keyvault-keys, antlr4-runtime, bcpkix-jdk15on, bcprov-jdk15on и msal.
Обновление для динамической проверки класса ExtendedSocketOption Устраняет ошибку, из-за которой отсутствующий ExtendedSocketOptions возвращал NoClassDefFoundError.

Исправления в версии 12.2

Исправить Сведения
Исправлено состояние NULL SQL и нулевой код ошибки при возникновении исключения базы данных Исправлена проблема, из-за которой после ошибки SQL состояние SQL и код ошибки показали неверные сведения. GitHub Issue #2015.
Исправлено восстановление бездействующего соединения, чтобы unprocessedResponseCount не был чрезмерно декрементирован. unprocessedResponseCount необходимо только уменьшать, когда doneToken.isFinal истина, а он уменьшается независимо от условий. GitHub Задача #1971.
Исправлено подключение к неправильному узлу SQLServer Устраняет проблему параллелизма, когда драйвер подключается к нескольким узлам SQLServer, может быть установлено подключение к неправильному узлу. Проблема GitHub #1964.
Исправлен некорректный updateCount Неверное число обновлений может произойти как в истинных, так и в ложных случаях для enablePrepareOnFirstPreparedStatementCall и для обеих ситуаций prepexec/prepare. Проблема GitHub #1961.
Исправлены проблемы с параллелизмом в методах шифрования и расшифровки маскировки для пароля truststore Добавлены блокировки для шифрования и дешифрования в процессе обфускации пароля хранилища ключей доверия. Проблема GitHub #1939.
Исправлена ошибка в регистре имени учетной записи кэша. Устранена проблема, из-за которой имена учетных записей отправлялись в библиотеку аутентификации Microsoft с различением регистра, что приводило к повторным запросам на вход. Проблема GitHub #1923.
Исправлена ошибка отмены запроса Исправлена ошибка отмены запросов, которая периодически возникает в пакетных запросах. GitHub Issue #1896.
Исправлены ошибки вызываемой инструкции Исправляет ошибки "индекс выходит за границы" и "параметр не определён" в вызываемых инструкциях. GitHub Issue #1871.
Исправлена проверка маркера DONE при получении наборов результатов Добавляет упущенный случай в предыдущее исправление DONE_ERROR, когда драйвер проигнорировал статус DONE_ERROR от сервера в результате завершенного сеанса. Проблема GitHub #1846. Проблема GitHub #1505.
Убедитесь, что batchParamValues очищается во всех случаях при выполнении пакета Устранена проблема, из-за которой пакеты не очищались должным образом в случае сбоя при использовании массового обновления. GitHub Issue #1767.
Исправлена передаваемая точность при использовании BigDecimal Устранена проблема, из-за которой значения BigDecimal по умолчанию были отправлены с максимальной точностью, что может привести к нежелательному округлению десятичных знаков. Проблема GitHub #1489. Проблема GitHub #942
Исправлен протокол аттестации NONE для работы во всех случаях. Исправлена логика работы протокола аттестации NONE для обеспечения его работы во всех случаях, а не только в конкретных.
Исправлено состояние гонки в SecureStringUtil Исправлено условие гонки во SecureStringUtil время создания SecureStringUtil.

Скачать Microsoft JDBC Driver 12.2.0 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 12.2.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

11.2

Скачайте драйвер Microsoft JDBC 11.2.4 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 11.2.4 для SQL Server (tar.gz)

Номер выпуска: 11.2.4
Выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие 11.2

Изменение соответствия Сведения
Скачайте последние обновления для драйвера JDBC версии 11.2. • GitHub, 11.2.0.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 11.2 имена присваиваются с учетом совместимости версий Java.

Например, файл mssql-jdbc-11.20.jre17.jar из пакета 11.2 должен использоваться с Java 17.
Совместимость с пакетом Java Development Kit (JDK) версий 18.0, 17.0, 11.0 и 1.8. Microsoft JDBC Driver 11.2 for SQL Server теперь совместим с пакетом Java Development Kit (JDK) версии 18.0, помимо версий 17.0, 11.0 и 1.8.

Выпуски версии 11.2

Номер выпуска: 11.2.4
Выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 11.2.4:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.

Скачайте драйвер Microsoft JDBC 11.2.4 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 11.2.4 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 11.2.3
Выпущено: 12 января 2023 г.

Исправлены проблемы в версии 11.2.3:

  • Исправлено состояние NULL SQL и нулевой код ошибки при возникновении исключения базы данных
  • Исправлено неправильное количество обновлений при возникновении времени ожидания в пакетных запросах
  • Исправлена неправильная дата окончания срока действия токена при использовании функций Azure
  • Исправлено подключение к неправильному узлу SQLServer

Скачайте драйвер Microsoft JDBC 11.2.3 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 11.2.3 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 11.2.2
Выпущено: 15 декабря 2022 г.

Исправлены проблемы в версии 11.2.2.

  • Исправлена ошибка устойчивости бездействующего подключения
  • Очистка подготовленного кэша инструкций при повторном подключении бездействия
  • Исправлена ошибка, связанная с выходом индекса вызываемого оператора за пределы допустимого диапазона.
  • Исправлена проверка маркера DONE при получении наборов результатов
  • Исправлена прерывистая ошибка: "Внутренняя ошибка во время расшифровки: несоответствие тегов!"

Скачайте драйвер Microsoft JDBC 11.2.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 11.2.2 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 11.2.1
Выпущено: 8 сентября 2022 г.

Исправлены проблемы в версии 11.2.1:

  • Сделали com.microsoft.azure:msal4j необязательной зависимостью
  • Исправлена ошибка отмены запроса, которая периодически возникала в пакетных запросах

Скачайте драйвер Microsoft JDBC 11.2.1 для SQL Server (zip)
<a href="https://go.microsoft.com/fwlink/?linkid=2217551" data-linktype="external"><a strong>Скачайте драйвер Microsoft JDBC версии 11.2.1 для SQL Server (tar.gz)</strong></a>

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 11.2.0
Дата выпуска: 4 августа 2022 г.

Скачать Microsoft JDBC Driver 11.2.0 для SQL Server (zip)
Скачать Microsoft JDBC Driver 11.2.0 для SQL Server (TAR.GZ)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 11.2

Функция Сведения
Поддержка Java 18 Теперь драйвер совместим с пакетом Java Development Kit (JDK) версии 18.0 в дополнение к версиям 17.0, 11.0 и 1.8.
Добавлена настраиваемая поддержка IPv6-адресов Теперь для клиентского приложения можно назначить приоритет IPv4- или IPv6-адресам. Для управления поведением используйте новый параметр подключения ipaddresspreference. Для получения дополнительной информации см. Настройка свойств подключения.
Добавлена поддержка выбора метода подготовки Добавлено новое свойство prepareMethod строки подключения для переключения между использованием sp_prepare и sp_prepexec. Для управления поведением используйте новую настройку подключения prepareMethod. Для получения дополнительной информации см. Настройка свойств подключения.
Добавлено свойство подключения serverCertificate с параметром encrypt=strict Добавлено serverCertificate свойство, которое является путем к файлу сертификата сервера (в формате PEM). Используется для проверки, если для параметра encrypt задано значения strict. Для получения дополнительной информации см. Настройка свойств подключения.
Вызовы метаданных для параметров кэша Теперь можно кэшировать сведения, связанные с шифрованием, для параметризованных запросов. См. раздел "Использование Always Encrypted" с драйвером JDBC.
Добавлена поддержка массовой вставки NULL GUID значений Устранена проблема, из-за которой вставка значений NULL невозможна в режиме массовой вставки.
Добавлена поддержка кэширования маркеров управляемой идентификации Разрешить кэширование токенов, полученных из конечных точек управляемого удостоверения.

Изменения в версии 11.2

Изменение Сведения
Поддержка TDS 8.0 за счет добавления варианта strict в свойство шифрования подключения КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ. Свойство шифрования подключения теперь имеет строковый тип.
Добавлена проверка согласованного ALPN Проверяется, успешно ли согласован протокол прикладного уровня.
Добавлен параметр для enclaveAttestationProtocol Добавлен параметр для протокола NONE, позволяющий использовать защищенные анклавы без аттестации.
Разрешить переупорядочить serverName в строке подключения. Убедитесь, что в поле serverName строки подключения отсутствует знак равенства.
Добавлено улучшенное ведение журнала ошибок для отсутствующих библиотек MSAL Добавлено сообщение об ошибке при отсутствии MSAL при использовании ActiveDirectoryServicePrincipal.
Рефакторинг тайм-аута устойчивости неактивного подключения для использования существующего SharedTimer Повышена эффективность благодаря устойчивости соединения при простое с помощью существующего SharedTimer.
Отправка TDS версии 8 в Login7 в строгом режиме Добавлена дополнительная информация в пакет Login7, включая TDS версии 8 при шифровании=strict.
Изменено значение по умолчанию loginTimeout на 30s Значение по умолчанию loginTimeout было изменено с 15 секунд на 30 секунд, чтобы обеспечить больше времени для установления начальных подключений до истечения времени ожидания.
Зависимость msal4j теперь является явной Добавлена явная зависимость для msal4j (в предыдущих выпусках это была транзитивная зависимость).
Обновлены зависимости Обновлены версии зависимостей для azure-identity и azure-security-keyvault-keys.

Исправления в версии 11.2

Исправить Сведения
Исправлена ошибка, вызванная preparedMethod=prepare Исправлена прерывистая обработка подготовленной инструкции NULL, вызванная sp_prepare ошибкой при использовании с пакетными запросами GitHub Issue #1880.
Исправлена ошибка, при которой параллельное создание нескольких подключений может вызвать ошибку IndexOutOfBoundsException Исправлено состояние гонки с addressListтем, что может привести к IndexOutOfBoundsException возникновению нескольких подключений GitHub Issue #1852.
Исправлен сбой проверки утверждений, который происходит при отмене инструкции "INSERT INTO" Исправлена проблема, из-за которой драйвер может утверждать при отмене инструкции GitHub Issue #1849.
Исправлено исключение, которое не выбрасывалось, как ожидалось, при завершении сеанса в базе данных SQL. Добавлена проверка маркера статуса DONE_ERROR, который может возникнуть при завершении сеанса на сервере GitHub Issue #1846.
Интервал повторных попыток для управляемой идентификации Исправлен интервал повторных попыток управляемого удостоверения для правильного выполнения экспоненциального резервирования. Проблема GitHub № 1765
Удален дополнительный вызов executeCommand() в пределах connectionCommand() Удален дополнительный вызов executeCommand , который вызвал проблемы с производительностью для некоторых пользователей GitHub Issue #1669.
Исправлена ошибка неизвестного маркера с помощью selectMethod Исправлена ошибка 0xA3 неизвестного маркера при использовании selectMethod курсора с классификацией данных.

10,2

Скачайте драйвер Microsoft JDBC 10.2.4 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 10.2.4 для SQL Server (tar.gz)

Номер выпуска: 10.2.4 Выпущено: 13 октября 2025 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Скачайте драйвер Microsoft JDBC 10.2.3 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 10.2.3 для SQL Server (tar.gz)

Номер выпуска: 10.2.3
Выпущено: 12 января 2023 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 10.2.2
Выпущено: 13 декабря 2022 г.

Загрузите Microsoft JDBC Driver 10.2.2 для SQL Server (zip)
Скачайте драйвер Microsoft JDBC 10.2.2 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Номер выпуска: 10.2.1
Дата выпуска: 12 мая 2022 г.

Скачать Microsoft JDBC Driver 10.2.1 для SQL Server (zip)
Скачать Microsoft JDBC Driver 10.2.1 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие 10.2

Изменение соответствия Сведения
Скачайте последние обновления для драйвера JDBC версии 10.2. • GitHub, 10.2.0.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 10.2 имена присваиваются с учетом совместимости версий Java.

Например, файл mssql-jdbc-10.20.jre17.jar из пакета 10.2 должен использоваться с Java 17.
Совместимость с пакетом Java Development Kit (JDK) версий 17.0, 11.0 и 1.8. Microsoft JDBC Driver 10.2 для SQL Server теперь совместим с пакетом Java Development Kit (JDK) версии 17.0, помимо версий 11.0 и 1.8.

Релизы 10.2

Номер выпуска: 10.2.4
Выпущено: 13 октября 2025 г.

Исправлены проблемы в версии 10.2.4:

  • Устранена уязвимость CVE-2025-59250: уязвимость подделки в драйвере JDBC для SQL Server: неправильная проверка входных данных в драйвере JDBC для SQL Server позволяет неавторизованному злоумышленнику выполнять спуфинг по сети.

Номер выпуска: 10.2.3
Выпущено: 12 января 2023 г.

Исправлены проблемы в версии 10.2.3:

  • Исправлено неправильное количество обновлений при возникновении времени ожидания в пакетных запросах
  • Исправлена неправильная дата окончания срока действия токена при использовании функций Azure
  • Исправлено состояние NULL SQL и нулевой код ошибки при возникновении исключения базы данных

Номер выпуска: 10.2.2
Выпущено: 13 декабря 2022 г.

Исправлены проблемы в версии 10.2.2.

  • Очистка кэша подготовленных запросов при повторном подключении для обеспечения устойчивости неактивных соединений
  • Исправление для настройки KeepAlive расширенных параметров
  • Исправлена проблема, из-за которой драйвер мог утверждать при отмене инструкции
  • Исправлена ошибка, связанная с выходом индекса вызываемого оператора за пределы допустимого диапазона.
  • Исправлена проблема, при которой отсутствовала проверка ошибок токена DONE, из-за чего исключения игнорировались.
  • Исправлена ошибка отмены запроса

Номер выпуска: 10.2.1
Дата выпуска: 12 мая 2022 г.

Устраненные проблемы в версии 10.2.1:

  • Изменено время ожидания надежности недействующего соединения для использования существующего SharedTimer
  • Исправлен интервал повторных попыток аутентификации управляемого удостоверения, чтобы он правильно увеличивался с экспоненциальной задержкой.
  • Удален лишний вызов executeCommand() внутри connectionCommand()

Номер выпуска: 10.2.0
Дата выпуска: 31 января 2022 г.

Скачать Microsoft JDBC Driver 10.2.0 для SQL Server (zip)
Скачать Microsoft JDBC Driver 10.2.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 10.2

Функция Сведения
Поддержка Java 17 Теперь драйвер совместим с пакетом Java Development Kit (JDK) версии 17.0 в дополнение к версиям 11.0 и 1.8.
Поддержка надежности неактивного подключения Теперь поддерживается устойчивость неактивных соединений. См. статью "Устойчивость подключений" (JDBC).
Поставщики хранилища ключей для нескольких пользователей Теперь драйвер поддерживает поставщиков хранилища ключей на уровне подключения и инструкции для поддержки сценариев с несколькими пользователями. См. раздел "Использование Always Encrypted" с драйвером JDBC.

Изменения в версии 10.2

Изменение Сведения
Установить шифрование (encrypt) в значение true по умолчанию Критическое изменение Шифрование TLS включено по умолчанию.
Проверка сертификата при заданном значении "false" для параметра encrypt КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ Когда шифрование = false, но сервер требует шифрования, сертификат проверяется на основании параметра подключения.
aadSecurePrincipalId и aadSecurePrincipalSecret не рекомендуется Устарели свойства подключения aadSecurePrincipalId и aadSecurePrincipalSecret. Вместо них используйте имя пользователя и пароль.
API getAADSecretPrincipalId был удален КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ API getAADSecretPrincipalId удаляется по соображениям безопасности.
SQL_variant поддержка Добавлена поддержка SQL_variant типа данных при извлечении DateTimeOffset.
Неблокирование случайных значений в Linux Обновлено, чтобы использовать случайный вызов без блокировки при создании GUID для пакетов анклава.
Разрешение CNAME для области Добавлено разрешение CNAME при указании области определения приложения.
Обновлены зависимости Обновлены версии зависимостей для azure-identity, azure-security-keyvault-keys, gson и bouncycastle.

Исправления в версии 10.2

Исправить Сведения
TDSParser застревал на TDS_COLMETADATA Исправлено: TDSParser завис на TDS_COLMETADATA, что может привести к тому, что некоторые запросы не отвечают. Проблема GitHub 1661

9,4

Скачать Microsoft JDBC Driver 9.4.1 для SQL Server (ZIP)
Скачать Microsoft JDBC Driver 9.4.1 для SQL Server (tar.gz)

Номер выпуска: 9.4.1
Дата выпуска: 7 декабря 2021 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие 9.4

Изменение соответствия Сведения
Скачайте последние обновления для драйвера JDBC версии 9.4. • GitHub, 9.4.0.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 9.4 имена присваиваются с учетом совместимости версий Java.

Например, файл mssql-jdbc-9.4.0.jre16.jar из пакета 9.4 должен использоваться с Java 16.
Совместимость с пакетом Java Development Kit (JDK) версий 16.0, 11.0 и 1.8. Microsoft JDBC Driver for SQL Server версии 9.4 теперь совместим с пакетом Java Development Kit (JDK) версии 16.0 наряду с JDK версий 11.0 и 1.8.

Релизы 9.4

Номер версии: 9.4.1
Дата выпуска: 7 декабря 2021 г.

Устраненные проблемы в версии 9.4.1:

  • Исправлена потенциальная проблема, из-за которой драйвер перестает отвечать при обнаружении неподдерживаемого TDS_COLMETADATA.
  • Исправлено преобразование из LocalDateTime и LocalTime в String при массовом копировании.

Номер версии: 9.4.0
Дата выпуска: 30 июля 2021 г.

Скачать Microsoft JDBC Driver 9.4.0 для SQL Server (zip)
Скачать Microsoft JDBC Driver 9.4.0 для SQL Server (TAR.GZ)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Новые возможности в версии 9.4

Функция Сведения
Поддержка Java 16 Теперь драйвер совместим с пакетом Java Development Kit (JDK) версии 16.0 в дополнение к JDK версии 11.0 и 1.8.
Поддержка подключений репликации Поддержка подключений репликации теперь реализована. См. Настройка свойств подключения.
Настраиваемая область проверки подлинности Kerberos Теперь драйвер поддерживает указание настраиваемой области проверки подлинности при использовании проверки подлинности Kerberos. См. Настройка свойств подключения.
Повторные попытки при открытии подключения Свойства подключения connectRetryCount и connectRetryInterval добавляются для настройки автоматических повторных попыток при открытии подключений. Дополнительные сведения об этих новых свойствах см. в разделе Настройка свойств подключения.

Изменения в версии 9.4

Изменение Сведения
Поставщик Azure Key Vault Может быть открыто несколько последовательных подключений, указывающих сведения о различных поставщиках Azure Key Vault.
Обновлены сообщения об ошибках Сообщения об ошибках, связанные с исключениями в анклаве, теперь содержат ссылку на руководство по устранению неполадок.
Сообщения об ошибках, связанные со сбоями проверки подлинности Active Directory, теперь включают строку ошибки из базовой библиотеки.
Версия драйвера отправляется на сервер Теперь версия драйвера корректно отправляется в базу данных во время этапа предварительной авторизации.
Идентификатор клиентского процесса Идентификатор клиентского процесса теперь отправляется на сервер при запуске в Java версии 9 и более поздней версии. В Java 8 сохранена предыдущая функциональность с отправкой 0 для ID клиентского процесса.
Обновлены зависимости Обновлены версии зависимостей для azure-identity, azure-security-keyvault-keys, gson, antlr и bouncycastle.
Удалены ненужные ссылки Удалены неиспользуемые ссылки на класс Java 9 из jar-файла Java 8

Исправления в версии 9.4

Исправить Сведения
Проблема GitHub 1499 Исправлено: Пакет завершается ошибкой, если включено "Всегда зашифровано" в строке подключения и вызывается clearParameters.
Проблема GitHub 1632 Исправлено: небольшая утечка памяти в новом подключении.
Проблема GitHub 1565 Исправлена проблема, из-за которой trustStorePassword является NULL при использовании applicationIntent=ReadOnly
GitHub Проблема #1568 Исправлена проблема, при которой в имени сервера перенаправленный токен содержит именованный экземпляр.
Проблема GitHub 1531 Исправлено потенциальное переполнение целочисленного числа в TDSWriter.writeString()

9,2

Скачать Microsoft JDBC Driver 9.2.1 для SQL Server (zip)
Скачать Microsoft JDBC Driver 9.2.1 для SQL Server (TAR.GZ)

Номер версии: 9.2.1
Дата выпуска: 02 марта 2021 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие требованиям 9.2

Изменение соответствия Сведения
Скачайте последние обновления для драйвера JDBC версии 9.2. • GitHub, 9.2.1.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 9.2 имена присваиваются с учетом совместимости версий Java.

Например, файл mssql-jdbc-9.2.1.jre15.jar из пакета 9.2 должен использоваться с Java 15.
Совместимость с пакетом Java Development Kit (JDK) версий 15.0, 11.0 и 1.8. Microsoft JDBC Driver for SQL Server версии 9.2 теперь совместим с пакетом Java Development Kit (JDK) версии 15.0 наряду с JDK версий 11.0 и 1.8.

Выпуски версии 9.2

Номер версии: 9.2.1
Дата выпуска: 02 марта 2021 г.

Устраненные проблемы в версии 9.2.1:

  • Исправлена проблема с пустым секретом клиента во время ActiveDirectoryServicePrincipal проверки подлинности в среде Azure.

Номер версии: 9.2.0
Выпущено: 29 января 2021 г.

Скачать Microsoft JDBC Driver 9.2.0 для SQL Server (zip)
Скачать Microsoft JDBC Driver 9.2.0 для SQL Server (tar.gz)

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для водителя в ZIP-файле: китайский (упрощенное письмо) | китайский (традиционное письмо) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный)английский (США) | французскийнемецкий | итальянскийяпонский | корейскийпортугальский (Бразилия) | русскийиспанский

Поддержка JDK 15

Microsoft JDBC Driver for SQL Server версии 9.2 теперь совместим с пакетом Java Development Kit (JDK) версии 15.0 наряду с JDK версий 11.0 и 1.8.

Добавлена поддержка интерактивной проверки подлинности Azure Active Directory

Добавлен тип проверки подлинности Сведения
Microsoft JDBC Driver for SQL Server версии 9.2 теперь поддерживает интерактивную проверку подлинности в Azure Key Vault. См. статью "Подключение с помощью проверки подлинности Microsoft Entra".

Добавлена поддержка проверки подлинности служебного принципала Azure Active Directory

Добавлен тип проверки подлинности Сведения
Microsoft JDBC Driver для SQL Server версии 9.2 теперь поддерживает аутентификацию в Azure Key Vault с помощью идентификатора клиента и секрета удостоверения сервисного субъекта. См. статью "Подключение с помощью проверки подлинности Microsoft Entra".

Библиотека Azure Key Vault обновлена для использования современной библиотеки Azure Key Vault.

Изменения библиотеки для Azure Key Vault Сведения
Microsoft JDBC Driver 9.2 перенесен из библиотек предыдущего поколения Azure Key Vault и ADAL в более современные эквиваленты Azure Key Vault и Azure Identity. ИЗМЕНЕНИЕ ЗАВИСИМОСТЕЙ. Если вы используете проверку подлинности Azure Active Directory или Azure Key Vault, обновите зависимости приложения. Ознакомьтесь с требованиями к зависимостям при работе с поставщиком Azure Key Vault или аутентификацией Azure Active Directory.

Параметр useBulkCopyForBatchInsert включен для серверов, отличных от Azure Synapse Analytics

useBulkCopyForBatchInsert изменения для серверов, отличных от Azure Synapse Analytics Сведения
Microsoft JDBC Driver версии 9.2 теперь поддерживает интерфейс API массового копирования для выполнения операций пакетной вставки на серверах, отличных от Azure Synapse Analytics. См. Использование API массового копирования для операции вставки пакетов.

8.4

Скачать Microsoft JDBC Driver 8.4 для SQL Server (ZIP)
Скачать Microsoft JDBC Driver 8.4 для SQL Server (tar.gz)

Номер версии: 8.4.1
Выпущено: 27 августа 2020 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для водителя в ZIP-файле: китайский (упрощенное) | китайский (традиционное) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный), китайский (традиционный), английский (США), французский, немецкий, итальянский, японский, корейский, португальский (Бразилия), русский, испанский

Соответствие 8.4

Изменение соответствий Сведения
Загрузите последние обновления для драйвера JDBC версии 8.4. • GitHub, 8.4.1.
• Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 8.4 имена присваиваются с учетом совместимости версий Java.

Например, файл mssql-jdbc-8.4.1.jre14.jar из пакета 8.4 должен использоваться с Java 14.
Совместимость с пакетом Java Development Kit (JDK) версий 14.0, 11.0 и 1.8. Microsoft JDBC Driver версии 8.4 для SQL Server теперь совместим с пакетом Java Development Kit (JDK) версии 14.0 наряду с JDK версий 11.0 и 1.8.

Выпуски версии 8.4

Номер версии: 8.4.1
Выпущено: 27 августа 2020 г.
Исправленные проблемы:

  • Исправлена несовместимость между SQLServerConnectionPoolProxy и delayLoadingLobs
  • Исправлена потенциальная проблема NullPointerException с delayLoadingLobs
  • Исправлена проблема с расшифровкой ключей шифрования столбцов при использовании хранилища сертификатов Windows

Номер версии: 8.4.0
Выпущено: 31 июля 2020 г.

Поддержка JDK 14

Microsoft JDBC Driver версии 8.4 для SQL Server теперь совместим с пакетом Java Development Kit (JDK) версии 14.0 наряду с JDK версий 11.0 и 1.8.

Добавлена поддержка проверки подлинности для Azure Key Vault с помощью управляемого удостоверения.

Добавлен тип проверки подлинности Сведения
Microsoft JDBC Driver 8.4 для SQL Server теперь поддерживает проверку подлинности для Azure Key Vault с помощью управляемого удостоверения. См. раздел "Использование Always Encrypted" с драйвером JDBC.

Расширенная поддержка массового копирования для хранилища данных Azure

Изменения в пакетном копировании для хранилища данных Azure Сведения
В Microsoft JDBC Driver 8.4 добавлено новое свойство соединения sendTemporalDataTypesAsStringForBulkCopy. Это логическое свойство равно TRUE по умолчанию. См. Использование массового копирования с драйвером JDBC.

Добавлена поддержка кэширования DNS в Azure SQL.

Кэширование DNS Сведения
Microsoft JDBC Driver 8.4 для SQL Server теперь поддерживает кэширование DNS для SQL Server на виртуальных машинах Azure.  

Добавлена обратная совместимость для потоковой передачи объектов больших данных

Потоковая передача LOB Сведения
В Microsoft JDBC Driver версии 8.4 для SQL Server добавлено новое свойство соединения delayLoadingLobs. Установка delayLoadingLobs в FALSE приводит к тому, что все LOB объекты, полученные из ResultSet, не передаются потоком. Этот параметр означает, что драйвер загружает весь LOB-объект в память одновременно, аналогично тому, как драйвер работал до выпуска версии 6.4.

Добавлена поддержка проверки подлинности сертификата клиента для сценариев обратной связи.

Проверка подлинности сертификатов клиента Сведения
В Microsoft JDBC Driver 8.4 для SQL Server добавлен новый метод аутентификации с клиентским сертификатом для локальных сценариев. См. Аутентификация сертификата клиента для сценариев loopback.

8.2

Скачать Microsoft JDBC Driver 8.2 для SQL Server (ZIP)
Скачать Microsoft JDBC Driver 8.2 для SQL Server (tar.gz)

Номер версии: 8.2.2 выпущено: 24 марта 2020 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в ZIP-файле: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

8.2 Соответствие

Изменение соответствия Сведения
Скачайте последние обновления для драйвера JDBC версии 8.2. GitHub, 8.2.2.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 8.2 имена присваиваются с учетом совместимости версий Java.

Например, файл mssql-jdbc-8.2.2.jre11.jar из пакета 8.2 должен использоваться с Java 11.
Совместимость с пакетом Java Development Kit (JDK) версий 13.0, 11.0 и 1.8. Microsoft JDBC Driver версии 8.2 для SQL Server теперь совместим с пакетом Java Development Kit (JDK) версии 13.0 наряду с JDK версий 11.0 и 1.8.

Выпуски версии 8.2

Номер версии: 8.2.2
Выпущено: 24 марта 2020 г.
Исправленные проблемы:

  • Добавлен параметр для настройки списка доверенных конечных точек Azure Key Vault

Номер версии: 8.2.1
Выпущено: 26 февраля 2020 г.
Исправленные проблемы:

  • Исправлена потенциальная проблема NullPointerException при получении данных типа java.time.LocalTime или java.time.LocalDate с помощью SQLServerResultSet.getObject().

Номер версии: 8.2.0
Выпущено: 31 января 2020 г.

Поддержка JDK 13

Microsoft JDBC Driver версии 8.2 для SQL Server теперь совместим с пакетом Java Development Kit (JDK) версии 13.0 наряду с JDK версий 11.0 и 1.8.

Always Encrypted с безопасными анклавами.

Microsoft JDBC Driver версии 8.2 для SQL Server теперь поддерживает Always Encrypted с безопасными анклавами. Дополнительные сведения и пример кода см. в статье Использование Always Encrypted с безопасными анклавами с драйвером JDBC.

Повышение производительности при извлечении временных типов данных из SQL Server 1

Изменение, касающееся темпоральных типов данных Сведения
Microsoft JDBC Driver 8.2 для 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 API java.time.LocalDateTime , темпоральные типы данных с предоставленным java.util.Calendar пользователем объектом, связанным с ним или microsoft.sql.DateTimeOffset типами данных, не пользуются этим улучшением.

Развертывание mssql-jdbc_auth-<версия>-<архитектура>.dll (ранее sqljdbc_auth.dll) в репозитории Maven

sqljdbc_auth.dll Изменить Сведения
Начиная с Microsoft JDBC Driver 8.2 для SQL Server, драйвер полагается на mssql-jdbc_auth-<version>-<arch>.dll, а не на sqljdbc_auth.dll, для использования функции проверки подлинности Azure Active Directory.
Библиотека DLL загружается в репозиторий Maven для упрощения доступа. См. mssql-jdbc_auth.

Известные проблемы в версии 8.2

Известные проблемы Сведения
При использовании Always Encrypted с безопасными анклавами в Java 8. Пользователи должны включить поставщика BouncyCastle в качестве зависимости ИЛИ настроить/загрузить поставщика безопасности, который поддерживает алгоритм RSASSA-PSS.

7.4.1

Скачать Microsoft JDBC Driver 7.4.1 для SQL Server (самораспаковывающийся exe-файл)
Скачать Microsoft JDBC Driver 7.4.1 для SQL Server (tar.gz)

Номер версии: 7.4.1
Выпущено: 2 августа 2019 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие 7.4

Изменение соответствия Сведения
Скачайте последние обновления для драйвера JDBC версии 7.4. • GitHub, 7.4.1.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 7.4 имена присваиваются с учетом совместимости версий Java.

Например, файл mssql-jdbc-7.4.1.jre11.jar из пакета 7.4 должен использоваться с Java 11.
Совместимость с пакетом Java Development Kit (JDK) версий 12.0, 11 и 1.8. Microsoft JDBC Driver версии 7.4 для SQL Server совместим с пакетом Java Development Kit (JDK) версии 12.0 наряду с JDK версии 11.0 и 1.8.

Выпуски версии 7.4

Номер версии: 7.4.1
Выпущено: 2 августа 2019 г.
Исправленные проблемы:

  • Отменены новые реализации API hashCode() и equals() от SQLServerDataTable и SQLServerDataColumn, так как изменение API нарушило обратную совместимость.

Номер версии: 7.4.0
Выпущено: 31 июля 2019 г.

Поддержка JDK 12

Microsoft JDBC Driver версии 7.4 для SQL Server совместим с пакетом Java Development Kit (JDK) версии 12.0 наряду с JDK версии 11.0 и 1.8.

Добавлена проверка подлинности NTLM

Изменение NTLM Сведения
Поддержка режима проверки подлинности NTLM. Этот режим проверки подлинности позволяет клиентам под управлением Windows и других ОС проходить проверку подлинности в SQL Server с учетными данными пользователей домена Windows.
Дополнительные сведения и пример приложения для использования этого режима проверки подлинности. Смотрите Использование проверки подлинности NTLM для подключения к SQL Server.

Добавлена возможность запросов ParameterMetaData через useFmtOnly

useFmtOnly Изменить Сведения
useFmtOnly Добавлено свойство подключения. Эта функция позволяет пользователям опционально выполнять запросы ParameterMetaData через устаревший API SET FMTONLY ON. Этот параметр полезен для сценариев, где sp_describe_undeclared_parameters не выполняется должным образом.
Подробные сведения и ограничения. См. получение ParameterMetaData через useFmtOnly

Пакет SDK для Microsoft Azure Key Vault для Java обновлен до версии 1.2.1.

Изменение пакета SDK для Key Vault Сведения
Зависимость Maven на Microsoft Azure Key Vault SDK для Java обновлена до версии 1.2.1.  
Пакет SDK для Microsoft Azure Key Vault WebKey удален как зависимость Maven.  
Дополнительные сведения. См. зависимости компонентов Microsoft JDBC Driver для SQL Server.

Известные проблемы 7.4

Известные проблемы Сведения
При использовании аутентификации по протоколу NTLM. Одновременное включение расширенной защиты и шифрования соединений в настоящий момент не поддерживается.
При использовании useFmtOnly. Недостатки логики синтаксического анализа SQL могут вызвать некоторые проблемы с функцией. Дополнительные сведения и варианты обходного решения см. в разделе «Получение ParameterMetaData с помощью useFmtOnly».

7.2.2

Скачать Microsoft JDBC Driver 7.2.2 для SQL Server (самораспаковывающийся exe-файл)
Скачать Microsoft JDBC Driver 7.2.2 для SQL Server (tar.gz)

Номер версии: 7.2.2
Выпущено: 16 апреля 2019 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Соответствие 7.2

Изменение соответствия Сведения
Скачайте последние обновления для драйвера JDBC версии 7.2. GitHub, 7.2.2.
Maven Central.
Полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 7.2 имена присваиваются в соответствии с совместимостью версий Java.

Например, файл mssql-jdbc-7.2.2.jre11.jar из пакета 7.2 должен использоваться с Java 11.
Совместимость с пакетом Java Development Kit (JDK) версии 11.0 в дополнение к JDK версии 1.8. Microsoft JDBC Driver версии 7.2 для SQL Server совместим с пакетом Java Development Kit (JDK) версии 11.0 в дополнение к JDK версии 1.8.

Релизы 7.2

Номер версии: 7.2.2
Выпущено: 16 апреля 2019 г.
Исправленные проблемы:

  • Исправлены проблемы, при которых идентификаторы действий (ActivityID) не очищались должным образом.

Номер версии: 7.2.1
Выпущено: 11 февраля 2019 г.
Исправленные проблемы:

  • Исправлены проблемы синтаксического анализа с определенными параметризованными запросами.

Номер версии: 7.2.0
Выпущено: 31 января 2019 г.

Проверка подлинности Azure Active Directory с использованием управляемого удостоверения.

Изменение MSI Сведения
Поддерживается режим проверки подлинности с помощью Управляемого удостоверения (MSI) Active Directory. Этот режим проверки подлинности применяется в ресурсах Azure с поддержкой активной функции Identity.

Оба типа управляемых удостоверений (MSI) поддерживаются драйвером для получения accessToken, что необходимо для установления безопасного подключения.
Дополнительные сведения и пример приложения для использования этого режима проверки подлинности. См. статью "Подключение с помощью проверки подлинности Microsoft Entra".

Введение поддержки Open Service Gateway Initiative (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

Введение API SQLServerError

Ошибка изменения API Сведения
Представлен API SQLServerError. API для извлечения дополнительных сведений об ошибке, возникшей на сервере.

SQLServerException.getSQLServerError()
SQLServerError
Дополнительные сведения. См. Обработка ошибок.

Обновлена Библиотека проверки подлинности Microsoft Azure Active Directory (ADAL4J) для Java версии 1.6.3.

Изменение ADAL4J Сведения
Зависимость Maven для ADAL4J обновлена до версии 1.6.3.  
Клиентская среда выполнения Java для AutoRest представлена в качестве зависимости Maven версии 1.6.5.  
Дополнительные сведения. См. зависимости функций Microsoft JDBC Driver для SQL Server.

Пакет SDK для Microsoft Azure Key Vault для Java обновлен до версии 1.2.0

Изменение пакета SDK для Key Vault Сведения
Обновлена зависимость Maven от SDK Microsoft Azure Key Vault на Java до версии 1.2.0.  
Представление Microsoft Azure SDK для Key Vault WebKey в качестве зависимости Maven, версия 1.2.0.  
Дополнительные сведения. См. зависимости компонентов Microsoft JDBC Driver для SQL Server.

Известные проблемы в версии 7.2

Известные проблемы Сведения
Параметризованные запросы в некоторых случаях. Чтобы устранить эту проблему, в феврале 2019 года было выпущено обновление версии 7.2.0 (7.2.1).
Очистка ActivityId. Чтобы устранить эту проблему, в апреле 2019 года было выпущено обновление версии 7.2.1 (7.2.2).

7.0

Скачать Microsoft JDBC Driver 7.0 для SQL Server (самораспаковывающийся exe)
Скачать Microsoft JDBC Driver 7.0 для SQL Server (tar.gz)

Номер версии: 7.0.0
Выпущено: 31 июля 2018 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Microsoft JDBC Driver версии 7.0 для SQL Server полностью соответствует спецификации API JDBC версии 4.2. JAR-файлам в пакете 7.0 имена присваиваются в соответствии с совместимостью версий Java. Например, файл mssql-jdbc-7.0.0.jre10.jar из пакета 7.0 должен использоваться с Java 10.

Поддержка JDK 10

Microsoft JDBC Driver версии 7.0 для SQL Server совместим с пакетом Java Development Kit (JDK) версии 10.0 в дополнение к JDK версии 1.8. Это обновление также предоставляет Automatic-Module-Name драйвера в качестве com.microsoft.sqlserver.jdbc через его файл манифеста.

Поддержка типов пространственных данных

Microsoft JDBC Driver 7.0 для SQL Server теперь поддерживает типы пространственных данных SQL Server Geography и Geometry. Дополнительные сведения об API типа пространственных данных и их использовании см. в разделе "Использование пространственных типов данных".

В реализации JDBC 4.3 были введены API java.sql.Connection: beginRequest() и endRequest().

Microsoft JDBC Driver версии 7.0 для SQL Server теперь реализует API beginRequest() и endRequest() из класса java.sql.Connection. Эти API-интерфейсы были представлены в спецификации JDBC 4.3 и JDK 9. Дополнительные сведения о реализации этих API драйвера см. в статье о соответствии JDBC 4.3 для драйвера JDBC.

Включено обнаружение и классификация данных SQL

Microsoft JDBC Driver версии 7.0 для SQL Server позволяет включить обнаружение и классификацию данных SQL в любой целевой базе данных, поддерживающей эту функцию. Драйвер теперь открывает доступ к SQLServerResultSet.getSensitivityClassification() API для извлечения этой информации из полученного ResultSet.

Для получения дополнительных сведений об использовании этой функции с драйвером JDBC см. пример SQL Data Discovery and Classification JDBC.

Добавлено свойство подключения: useBulkCopyForBatchInsert

Microsoft JDBC Driver версии 7.0 для SQL Server вводит новое свойство соединения, useBulkCopyForBatchInsert. Это свойство поддерживается только Azure Synapse Analytics.

По умолчанию это свойство отключено. Вы можете включить его, чтобы повысить производительность пользовательских приложений при отправке больших объемов данных в Azure Synapse Analytics. Включение этого свойства изменяет поведение операций пакетной вставки на переход на операции массового копирования с предоставленными пользователем данными. Дополнительные сведения об этом свойстве и его ограничениях см. в разделе Использование API массового копирования для операции пакетной вставки.

Добавлено свойство подключения: cancelQueryTimeout

Microsoft JDBC Driver версии 7.0 для SQL Server предоставляет новое свойство подключения, cancelQueryTimeout, для отмены queryTimeout на объектах java.sql.Connection и java.sql.Statement.

Добавлены конструкторы поставщика Azure Key Vault

Microsoft JDBC Driver версии 7.0 для 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;

Обновлена версия библиотеки проверки подлинности Microsoft Azure Active Directory (ADAL4J) для Java: 1.6.0.

Microsoft JDBC Driver 7.0 для SQL Server обновил свою зависимость Maven от библиотеки проверки подлинности Microsoft Azure Active Directory (ADAL4J) для Java до версии 1.6.0. Дополнительную информацию о зависимостях можно ознакомиться в статье Зависимости компонентов Microsoft JDBC Driver для SQL Server.

6,4

Скачать Microsoft JDBC Driver 6.4 для SQL Server (самораспаковывающийся exe)
Скачать Microsoft JDBC Driver 6.4 для SQL Server (tar.gz)

Номер версии: 6.4.0
Выпущено: 27 февраля 2018 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Microsoft JDBC Driver версии 6.4 для SQL Server полностью соответствует спецификации JDBC версий 4.1 и 4.2. JAR-файлам в пакете 6.4 имена присваиваются в соответствии с совместимостью версий Java. Например, файл mssql-jdbc-6.4.0.jre8.jar из пакета 6.4 должен использоваться с Java 8.

Поддержка JDK 9

Драйвер поддерживает JDK версии 9.0 в дополнение к версиям 8.0 и 7.0.

Соответствие требованиям JDBC 4.3

Драйвер поддерживает спецификацию Java Database Connectivity API 4.3 в дополнение к версиям 4.1 и 4.2. Методы API JDBC 4.3 добавлены, но еще не реализованы. Дополнительные сведения см. в разделе соответствия JDBC 4.3 для драйвера JDBC.

Добавлено свойство подключения: sslProtocol

Новое свойство подключения дает пользователям возможность указывать ключевое слово протокола TLS. Возможные значения: TLS, TLSv1, TLSv1.1 и TLSv1.2. Дополнительные сведения см. в разделе SSLProtocol.

Устаревшее свойство подключения: fipsProvider

Свойство подключения fipsProvider удалено из списка допустимых свойств подключения. Для получения подробной информации см. пулл-реквест на GitHub.

Добавлены свойства подключения для указания настраиваемого менеджера доверия (TrustManager)

Теперь драйвер поддерживает указание настраиваемого TrustManager с добавленными свойствами подключения trustManagerClass и trustManagerConstructorArg. Вы можете динамически указывать набор сертификатов, которые проверяются при каждом подключении, без изменения глобальных параметров среды виртуальной машины Java (JVM).

Добавлена поддержка datetime/smallDatetime для параметров с табличным типом данных

Теперь драйвер поддерживает типы данных datetime и smallDatetime при использовании табличных параметров (TVPs).

Добавлена поддержка типа данных sql_variant

Драйвер JDBC теперь поддерживает sql_variant типы данных для использования с SQL Server. Тип данных sql_variant также поддерживается с такими функциями, как TVPs и массовая копия со следующими ограничениями:

  • Для значений даты:

    При использовании TVP для заполнения таблицы, содержащей значения datetime, smalldatetime или date, хранящиеся в столбце sql_variant, вызов метода getDateTime(), getSmallDateTime() или getDate() в результирующем наборе не работает и вызывает следующее исключение:

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

    В качестве обходного решения используйте метод getString() или getObject().

  • Использование табличного параметра с sql_variant для null значений.

    Если вы используете TVP для заполнения таблицы и отправки значения NULL в тип столбца sql_variant , возникает исключение. Вставка значения NULL с типом столбца sql_variant в TVP в настоящее время не поддерживается.

Реализовано кэширование метаданных подготовленной инструкции

В драйвере JDBC реализовано кэширование метаданных подготовленной инструкции для повышения производительности. Теперь драйвер поддерживает кэширование метаданных подготовленных выражений в драйвере с параметрами подключения disableStatementPooling и statementPoolingCacheSize. По умолчанию эта функция выключена. Дополнительные сведения см. в разделе "Кэширование метаданных подготовленной инструкции" для драйвера JDBC.

Добавлена ​​поддержка интегрированной проверки подлинности Azure AD в Linux и macOS

Драйвер JDBC поддерживает встроенную проверку подлинности Azure Active Directory во всех поддерживаемых операционных системах (Windows, Linux, macOS) с Kerberos. Кроме того, в операционных системах Windows пользователи могут аутентифицироваться с mssql-jdbc_auth-<версия>-<архитектура>.dll.

Обновлена версия библиотеки проверки подлинности Microsoft Azure Active Directory (ADAL4J) для Java: 1.4.0.

В драйвере JDBC зависимость Maven "Библиотека проверки подлинности Microsoft Azure Active Directory (ADAL4J) для Java" обновлена до версии 1.4.0. Дополнительную информацию о зависимостях можно ознакомиться в статье Зависимости компонентов Microsoft JDBC Driver для SQL Server.

6,2

Скачать Microsoft JDBC Driver 6.2 для SQL Server (самораспаковывающийся exe)
łСкачать Microsoft JDBC Driver 6.2 для SQL Server (tar.gz)

Номер версии: 6.2.2
Выпущено: 29 сентября 2017 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный), китайский (традиционный), английский (США), французский, немецкий, итальянский, японский, корейский, португальский (Бразилия), русский, испанский

Microsoft JDBC Driver версии 6.2 для SQL Server полностью соответствует спецификации JDBC версий 4.1 и 4.2. JAR-файлам в пакете 6.2 имена присваиваются в соответствии с совместимостью версий Java. Например, файл mssql-jdbc-6.2.2.jre8.jar из пакета 6.2 должен использоваться с Java 8.

Релизы 6.2

Номер версии: 6.2.2
Выпущено: 3 октября 2017 г.
Исправленные проблемы:

  • Обновлён компонент ADAL4J до версии 1.2.0 и компонент Azure Key Vault до версии 1.0.0.

Номер версии: 6.2.1
Выпущено: 14 июля 2017 г.
Исправленные проблемы:

  • Исправлена проблема при выполнении запросов без параметров, используя preparedStatement

Номер версии: 6.2.0
Выпущено: 30 июня 2017 г.

Примечание.

Проблема с улучшением кэширования метаданных была обнаружена в RTW JDBC 6.2, выпущенном 29 июня 2017 года. Были отменены предыдущие улучшения, и новые JAR-файлы версии 6.2.1 были выпущены 17 июля 2017 года.

Версия зависимой библиотеки Azure Key Vault была обновлена до 1.0.0, а новые JAR-файлы (версии 6.2.2) были выпущены 19 октября 2017 года.

Скачайте последние обновления для JDBC Driver 6.2 через приведенные выше ссылки, либо через GitHub или Maven Central. Обновите проекты для использования JAR-файлов версии 6.2.2. Дополнительные сведения см. в заметках о выпуске 6.2.1 и 6.2.2.

Поддержка Azure AD для Linux

Подключите свои приложения Linux к базе данных Azure SQL, используя проверку подлинности Azure AD с использованием имени пользователя/пароля и методов доступа с помощью токена.

Виртуальные машины Java с поддержкой стандарта FIPS

Теперь драйвер JDBC можно использовать на виртуальных машинах Java, работающих в режиме использования федерального стандарта обработки информации (FIPS) 140 в соответствии с федеральными стандартами.

Улучшения проверки подлинности Kerberos

Теперь драйвер JDBC поддерживает следующее.

  • Метод принципал/пароль для приложений, в которых конфигурация Kerberos не может быть изменена или невозможно получить новый токен или keytab. Этот метод можно использовать для проверки подлинности на экземпляре SQL Server, который разрешает только проверку подлинности Kerberos.
  • Междоменная аутентификация с использованием встроенной проверки подлинности Kerberos без явного указания SPN сервера. Теперь драйвер автоматически вычисляет области, даже если они не указаны.
  • Ограниченное делегирование Kerberos путем принятия учетных данных олицетворенного пользователя в качестве объекта учетных данных GSS через источник данных. Эти поддельные учетные данные затем используются для установления подключения Kerberos.

Добавлены тайм-ауты

Теперь драйвер JDBC поддерживает следующие настраиваемые значения времени ожидания. Вы можете изменить их в зависимости от потребностей своего приложения.

  • Query timeout Для управления числом секунд, которые нужно ожидать до истечения времени ожидания при выполнении запроса.
  • Socket timeout, чтобы указать количество миллисекунд перед тем как истечёт время ожидания в сокете при чтении или принятии.

6.1

Версия 6.1.0:
Выпущено: 17 ноября 2016 г.

Microsoft JDBC Driver версии 6.1 для SQL Server полностью соответствует спецификации JDBC версий 4.1 и 4.2. Этот выпуск является первоначальным выпуском JDBC Driver с открытым исходным кодом. Исходный код можно найти по тегу v6.1.0 на GitHub. Он компилирует файлы mssql-jdbc-6.1.0.jre8.jar и mssql-jdbc-6.1.0.jre7.jar, которые соответствуют совместимости версий Java.

6,0

Скачать Microsoft JDBC Driver 6.0 для SQL Server (самораспаковывающийся exe)
Скачать Microsoft JDBC Driver 6.0 для SQL Server (tar.gz)

Номер версии: 6.0.8112
Выпущено: 17 января 2017 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный), китайский (традиционный), английский (США), французский, немецкий, итальянский, японский, корейский, португальский (Бразилия), русский, испанский

Microsoft JDBC Driver версии 6.0 для SQL Server полностью соответствует спецификации JDBC версий 4.1 и 4.2. JAR-файлам в пакете 6.0 имена присваиваются в соответствии с их совместимостью с версией API JDBC. Например, файл sqljdbc42.jar из пакета 6.0 совместим с API JDBC 4.2. Аналогичным образом файл sqljdbc41.jar совместим с API JDBC 4.1.

Чтобы убедиться, что у вас есть правильный файл sqljdbc42.jar или sqljdbc41.jar, запустите следующие строки кода. Если выходные данные — "Driver version: 6.0.7507.100", у вас есть пакет JDBC Driver 6.0.

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

Всегда зашифровано

Драйвер поддерживает функцию постоянного шифрования в SQL Server 2016. Эта функция гарантирует, что конфиденциальные данные никогда не будут отображаться в виде открытого текста в экземпляре SQL Server. Always Encrypted работает путем прозрачного шифрования данных в приложении, чтобы SQL Server обрабатывал только зашифрованные данные, а не значения обычного текста. Даже в случае компрометации экземпляра SQL или хост-компьютера злоумышленник получит только зашифрованный текст конфиденциальных данных. Дополнительные сведения см. в разделе "Использование Always Encrypted" с драйвером JDBC.

Международное доменное имя (IDN)

Драйвер поддерживает международные доменные имена (IDN) в качестве имен серверов. Для получения более подробной информации см. раздел "Использование международных доменных имён" в статье Международные функции драйвера JDBC.

Параметризованные запросы

Драйвер теперь поддерживает получение метаданных параметра с подготовленными инструкциями для сложных запросов, например подзапросов или соединений. Это улучшение доступно только при использовании SQL Server 2012 и более новых версий.

Azure Active Directory

Проверка подлинности Azure AD — это механизм подключения к Базе данных SQL Azure с помощью удостоверений в Azure AD. Проверка подлинности AAD используется для централизованного управления удостоверениями пользователей базы данных и в качестве альтернативы проверке подлинности SQL Server.

Вы можете использовать драйвер JDBC 6.0, чтобы указать учетные данные AAD в строке подключения JDBC для подключения к базе данных SQL Azure. Для получения дополнительных сведений см. свойство аутентификации в статье Задание свойств соединения.

Параметры табличного типа

Параметры с табличными значениями (TVPs) предоставляют простой способ пересылки нескольких строк данных из клиентского приложения в SQL Server, исключая необходимость в нескольких обменах данными или особой серверной логике для обработки данных. Табличные параметры (TVP) можно использовать для инкапсуляции строк данных в клиентском приложении и их отправки на сервер в одном параметризованном запросе. Входящие строки данных хранятся в переменной таблицы, которой затем можно управлять с помощью Transact-SQL. Дополнительные сведения см. в разделе Использование параметров, возвращающих табличные значения.

Группы доступности Always On

Теперь драйвер поддерживает прозрачное подключение к группам доступности Always On. Драйвер быстро обнаруживает текущую топологию Always On серверной инфраструктуры и автоматически подключается к текущему активному серверу.

4.2

Скачать Microsoft JDBC Driver 4.2 для SQL Server (самораспаковывающийся exe)
Скачать Microsoft JDBC Driver 4.2 для SQL Server (tar.gz)

Номер версии: 4.2.8112
Выпущено: 24 августа 2015 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Microsoft JDBC Driver версии 4.2 для SQL Server полностью соответствует спецификации JDBC версий 4.1 и 4.2. JAR-файлам в пакете 4.2 имена присваиваются в соответствии с их совместимостью с версией API JDBC. Например, файл sqljdbc42.jar из пакета 4.2 совместим с API JDBC 4.2. Аналогичным образом файл sqljdbc41.jar совместим с API JDBC 4.1.

Чтобы убедиться, что у вас есть правильный файл sqljdbc42.jar или sqljdbc41.jar, запустите следующие строки кода. Если выходные данные — "Driver version: 4.2.6420.100", у вас есть пакет JDBC Driver 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 версии 8.0 в дополнение к версиям 7.0, 6.0 и 5.0.

Соответствие JDBC 4.1 и 4.2

Драйвер поддерживает спецификации Java Database Connectivity API 4.1 и 4.2 в дополнение к версии 4.0. Дополнительные сведения см. в разделе соответствия JDBC 4.1 для драйвера JDBC и соответствия JDBC 4.2 для драйвера JDBC.

Массовое копирование

Функция массового копирования используется для быстрого копирования больших объемов данных в таблицы или представления в базах данных SQL Server. Дополнительные сведения см. в разделе "Использование массового копирования" с драйвером JDBC.

Опция отката транзакций XA

У драйвера появились новые параметры времени ожидания для существующего автоматического отката неподготовленных транзакций. Дополнительные сведения см. в разделе Понимание транзакций XA.

Новое свойство соединения принципала Kerberos

Драйвер использует новое свойство соединения для улучшения гибкости подключений Kerberos. Дополнительные сведения см. в статье Использование интегрированной проверки подлинности Kerberos для подключения к SQL Server.

4,1

скачать драйвер Microsoft JDBC Driver 4.1 для SQL Server (самораспаковывающийся exe)
Скачайте драйвер Microsoft JDBC 4.1 для SQL Server (tar.gz)

Номер версии: 4.1.8112
Выпущено: 12 декабря 2014 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Поддержка JDK 7

Драйвер поддерживает JDK версии 7.0 в дополнение к версиям 6.0 и 5.0.

4.0

Загрузить драйвер Microsoft JDBC 4.0 для SQL Server (самораспаковывающийся exe-файл)
Скачайте драйвер Microsoft JDBC 4.0 для SQL Server (tar.gz)

Номер версии: 4.0.2206
Выпущено: 6 марта 2012 г.

Если необходимо загрузить драйвер на языке, отличном от обнаруженного, можно использовать эти прямые ссылки.
Для драйвера в самораспаковывающемся файле exe: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский
Для драйвера в файле tar.gz: китайский (упрощенный) | китайский (традиционный) | английский (США) | французский | немецкий | итальянский | японский | корейский | португальский (Бразилия) | русский | испанский

Процессор Itanium не поддерживается для приложений JDBC Driver

Microsoft JDBC Driver для SQL Server не поддерживается на компьютерах с Itanium.