Partager via


Notes de publication du pilote Microsoft JDBC pour SQL Server

Cet article répertorie les versions du pilote JDBC Microsoft pour SQL Server. Pour chaque version publiée, les modifications sont nommées et décrites.

12.8

Télécharger Microsoft JDBC Driver 12.8.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.8.1 pour SQL Server (tar.gz)

Numéro de version : 12.8.1
Publication : 22 août 2024

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 12.8

Modification de conformité Détails
Téléchargez les dernières mises à jour du pilote JDBC 12.8. GitHub, 12.8.0
Maven Central
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 12.8 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier the mssql-jdbc-12.8.0.jre11.jar du package 12.8 doit être utilisé avec Java 11 (ou version ultérieure).
Compatible avec les versions 22.0, 21.0, 17.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 12.8 pour SQL Server est maintenant compatible avec la version 22.0 du JDK (Java Development Kit), en plus des versions 21.0, 17.0, 11.0 et 1.8 du JDK.

Versions 12.8

Numéro de version : 12.8.1
Publication : 22 août 2024

Changements dans 12.8.1 :

  • Modification de la journalisation MSAL de FINER à FINEST

Problèmes résolus dans 12.8.1 :

  • Ajustement de DESTINATION_COL_METADATA_LOCK, dans SQLServerBulkCopy, afin qu’il soit correctement libéré dans tous les cas
  • Comportement du pilote modifié pour permettre la réutilisation des objets d’instruction préparés, ce qui empêche une erreur « plusieurs requêtes ne sont pas autorisées »
  • Restauration de la fonctionnalité « Exécuter directement des procédures stockées » et des modifications ultérieures liées à la fonctionnalité.

Télécharger Microsoft JDBC Driver 12.8.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.8.1 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 12.8.0
Publication : 31 juillet 2024

Télécharger Microsoft JDBC Driver 12.8.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.8.0 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Nouvelles fonctionnalités de la version 12.8

Fonctionnalité Détails
Prise en charge de Java 22 Le pilote est désormais compatible avec JDK (Java Development Kit) version 22.0 en plus de JDK 21.0, 17.0, 11.0 et 1.8.
Ajout de la mise en cache des informations d'identification lors de l'utilisation de Managed Identity Credential ou de Default Azure Credential Afin d'améliorer les performances et la fiabilité du pilote, ce dernier permet désormais la mise en cache des informations d'identification susmentionnées.
Autoriser la mise en cache de l'objet SQLServerBulkCopy lors de l'utilisation de copie en bloc pour l'insertion par lots Remplace le comportement précédent, où chaque appel de executeBatch()générait un nouvelSQLServerBulkCopy objet, par la mise en cache de l'objet.
Ajout d'une mise en cache au niveau de la connexion pour la colonne de destination metadate dans copie en bloc Améliore les performances en ajoutant une mise en cache au niveau de la connexion pour les métadonnées de la colonne de destination dans les scénarios de copie en bloc. Cette fonctionnalité est activée en définissant la nouvelle propriété cacheBulkCopyMetadata de la chaîne de connexion sur true (la valeur par défaut est false).
Ajout d'un gestionnaire de messages SQL Server et prise en charge du chaînage des exceptions SQLException Ajout d'un gestionnaire de messages SQL Server permettant plusieurs fonctionnalités, notamment un retour d'information supplémentaire pour les requêtes de longue durée, la journalisation universelle des erreurs et la rétrogradation automatique de la gravité du message d'erreur de SQLException à SQLWarning. En outre, cette fonction permet d'enchaîner les exceptions SQLException de manière à ce que tous les messages d'erreur soient disponibles pour l'utilisateur. Consultez Gestion des erreurs.
Prise en charge complète de la norme RFC4180 pour les opérations d'insertion en bloc de fichiers CSV La prise en charge des champs cités contenant des nouvelles lignes manquait afin d'assurer une prise en charge complète de la norme RFC4180 ; cette prise en charge a été ajoutée.
Permet de construire une instance microsoft.sql.DateTimeOffset à partir d'une valeur java.time.OffsetDateTime La conversion entre les deux types de données existait déjà dans le pilote à l'aide d'un intermédiaire Timestamp. Cet ajout supprime cet intermédiaire, ce qui améliore les performances et réduit le risque d'erreurs liées au fuseau horaire.

Changements de la version 12.8

Modifier Détails
Enum SQLServerSortOrder est désormais public La visibilité de l'enum SQLServerSortOrder a été modifiée pour devenir publique, ce qui permet aux utilisateurs de disposer d'une plus grande flexibilité dans les requêtes qui utilisent cet enum.
Supprimer synchronized dans les surcharges de Socket Ajoutées par erreur dans des modifications antérieures pour confirmer les normes de vérification du code, les méthodes de sélection modifiées n'ont en fait pas besoin d'être synchronisées et ont été modifiées pour le refléter.
Révision des modifications précédentes de RMERR/RMFAIL en rendant la valeur par défaut RMFAIL Des modifications antérieures ont changé la valeur de XAER_RMFAIL en XAER_RMERR pour certains cas, mais ces cas sont rapidement devenus la majorité de tous les cas couverts. La solution consiste à modifier la valeur par défaut en convertissant RMFAIL et RMERR à l'inverse des cas mentionnés précédemment.
Dépendances mises à jour La version des dépendances est mise à jour pour azure-identity, bouncycastle, et msal.
Soutien révisé aux TDSType.GUID Améliore l'ajout original du support pour TDSType.GUID en permettant le passage direct de l'UUID à la méthode setObject.
Ajout de la journalisation de la mise en cache des jetons Ajout d'une journalisation supplémentaire pour les scénarios de mise en cache des jetons afin de faciliter les scénarios de débogage.

Correctifs de la version 12.8

Fix Détails
Correction d'une régression concernant la spécification des noms d'arguments dans la syntaxe des instructions appelables Correction d'une régression de 12.6.2 -- > 12.6.3 où les CallableStatements d'un certain format retournaient des valeurs incorrectes. Problème GitHub n° 2477.
Correction de l'analyse des parenthèses dans les procédures et fonctions stockées Correction pour un problème où l'appel d'une fonction avec une parenthèse à la fin dans une déclaration appelable, par exemple function() vs function, avait pour conséquence que la valeur de retour était toujours 0. Cette modification était une régression de 12.6.2 --> 12.6.3. Problème GitHub n° 2463.
Correction d'une erreur où le pilote ne respectait pas CallableStatement avec des arguments par défaut. Correction d'une erreur qui était une régression de la version 12.5.0 -- > 12.6.0, où les arguments par défaut dans les déclarations appelables étaient ignorés. Problème GitHub n° 2446.
Correction pour supprimer la classe TokenCredential où le pilote ne le nécessite pas TokenCredentialClass n'est pas nécessaire dans SQLServerSecurityUtility et peut provoquer une erreur dans NoClassDefFoundError. Ce correctif supprime l'importation et la remplace par un Object générique. Problème GitHub n° 2439.
Correction de l'erreur de conversion de la chaîne d'horodatage pour CallableStatements Correction d'une exception de conversion qui se produisait lors de l'appel d'un paramètre d'entrée/sortie DateTime tout en définissant une valeur String. Problème GitHub n° 2436.
Correction du constructeur de SqlAuthenticationToken pour qu'il accepte le paramètre correct Le constructeur de SQLAuthenticationToken était incorrect, car il utilisait un paramètre d'entrée en secondes, alors qu'il devrait s'agir de millisecondes. Problème GitHub n° 2424.
Correction de l'effacement de la poignée de la déclaration préparée avant la reconnexion Ceci corrige un problème où les mauvaises poignées étaient utilisées dans un SQLServerPreparedStatement après la reconnexion en effaçant correctement le SQLServerPreparedStatement.prepStmtHandle avant la reconnexion. Problème GitHub n° 2364.
Correction de l'effacement du cache des instructions préparées lors de la réinitialisation de la connexion au pool d'instructions Correction de l'effacement du cache des instructions préparées lors de la réinitialisation de la connexion au pool d'instructions. Problème GitHub n° 2356.
Fixer pour dissocier socketTimeout de loginTimeout socketTimeout doit avoir une limite supérieure de loginTimeout pour l'établissement de la connexion, mais ne doit pas avoir de limite supérieure une fois que le pilote est connecté. Cette modification corrige ce comportement. Problème GitHub n° 2354.
Correction pour vérifier si le compteur TDSCommand est nul avant d'essayer de l'incrémenter Ajoute une vérification de l'absence de null pour le compteur TDSCommand, évitant ainsi un NullPointerException qui pourrait survenir. Problème GitHub n° 2353.
Fixer l'appel des procédures avec des paramètres de sortie en fonction de leur syntaxe en quatre parties Correction d'un problème où l'appel de procédures stockées avec une syntaxe en quatre parties (qui est un serveur lié) entraînait une erreur indiquant que le flux de protocole TDS n'était pas valide. Problème GitHub n° 2344.
Correction pour échapper correctement les paramètres schema pour getProcedures et getProcedureColumns Les méthodes SQLServerDatabaseMetadata, getProcedures et getProcedureColumns n'échappaient pas correctement certains caractères (par exemple, \) pour le paramètre schema. Cette modification résout ce problème. Problème GitHub n° 2336.
Ajout d'un cache de jetons pour corriger l'utilisation d'un jeton d'authentification non intentionnel pour les connexions ultérieures Cela résout un problème où les informations d’identification du client peuvent être réutilisées par inadvertance. Alors que le jeton d’authentification a été correctement mis en cache, le pilote réutilisait le jeton avec uniquement la clé secrète client modifiée. Problème GitHub n° 2334.
Correction de la prise en charge de la syntaxe d'échappement exec dans CallableStatements Ceci corrige un problème où, après avoir supprimé les appels sp_executesql/sp_prepexec enveloppés afin d'exécuter rapidement les CallableStatements, les appels EXEC ne fonctionnaient plus. Problème GitHub n° 2325.
Fixer pour s'assurer que Money et SmallMoney se situent dans les fourchettes correctes pour copie en bloc Ceci corrige un problème où, lors de l'utilisation de copie en bloc avec Money ou SmallMoney valeurs, la conversion vers/depuis les valeurs peut provoquer un ArithmeticOverflowException. Problème GitHub n° 2309.
Correction pour s'assurer que ResultSetMetadata pour DataabseMetadata.getColumns() est correcte pour toutes les colonnes Les métadonnées renvoyées étaient incorrectes pour certaines colonnes, cette modification corrige ce problème. Problème GitHub n° 2232.
Correction pour désactiver correctement les tentatives de connexion lorsque connectRetryCount est réglé sur 0 Ceci corrige le comportement où, même avec connectRetryCount fixé à 0, le pilote tentait de réessayer jusqu'à ce que loginTimeout soit atteint. Problème GitHub n° 2232. Problème GitHub n° 2188.
Correction d'une fuite de ClassLoader de ActivityCorrelator ThreadLocal Corrige un problème où, après des changements de pilotes précédents vers ActivityId, ThreadLocal dans ActivityCorrelator n'est jamais supprimé du fil de discussion.
Correction de l'exécution directe des procédures stockées pour les appels RPC Les appels RPC utilisaient une logique antérieure en étant enveloppés dans des appels sp_executesql ; cette modification corrige ce comportement.

Versions précédentes

12.6

Télécharger Microsoft JDBC Driver 12.6.4 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.6.4 pour SQL Server (tar.gz)

Numéro de version : 12.6.4
Publication : 29 août 2024

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 12.6

Modification de conformité Détails
Téléchargez les dernières mises à jour du pilote JDBC 12.6. GitHub, 12.6.0
Maven Central
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 12.6 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-12.6.0.jre11.jar du package 12.6 doit être utilisé avec Java 11 (ou version ultérieure).
Compatible avec les versions 21.0, 17.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 12.6 pour SQL Server est maintenant compatible avec la version 21.0 du JDK (Java Development Kit), en plus des versions 17.0, 11.0 et 1.8 du JDK.

Versions 12.6

Numéro de version : 12.6.4
Publication : 29 août 2024

Problèmes résolus dans 12.6.4 :

  • Restauration de la fonctionnalité « Exécuter directement des procédures stockées » et des modifications ultérieures liées à la fonctionnalité.

Télécharger Microsoft JDBC Driver 12.6.4 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.6.4 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 12.6.3
Publication : 20 juin 2024

Problèmes résolus dans 12.6.3 :

  • Correction du problème où la classe TokenCredential devait être importée
  • Correction de la régression de conversion de chaîne d’horodateur fixe
  • Correction de la régression de valeur par défaut SQLServerCallableStatement

Télécharger Microsoft JDBC Driver 12.6.3 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.6.3 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 12.6.2
Sortie : le 23 mai 2024

Fonctionnalités ajoutées dans la version 12.6.2 :

  • Ajout de la mise en cache des informations d'identification pour Managed Identity Credential et Default Azure Credential

Problèmes résolus dans 12.6.2 :

  • Vérifiez que l'argent et la petite monnaie sont dans la plage correcte pour la copie en bloc
  • Vérifiez si le compteur de TDSCommand est nul avant de l'incrémenter
  • Effacez le cache des instructions préparées lors de la réinitialisation de la connexion au pool d'instructions
  • Effacez la poignée de la déclaration préparée avant la reconnexion
  • Les appels RPC pour CallableStatements seront exécutés directement
  • Correction de l'objet "jeton d'authentification" pour accepter l'expiration en millisecondes
  • SocketTimeout doit être non borné par loginTimeout après une ouverture de connexion réussie

Télécharger Microsoft JDBC Driver 12.6.2 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.6.2 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 12.6.1
Publication : 20 février 2024

Problèmes résolus dans 12.6.1 :

  • Correction de la syntaxe d'échappement « EXEC » pour CallableStatements

Télécharger Microsoft JDBC Driver 12.6.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.6.1 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 12.6.0
Publication : 31 janvier 2024

Télécharger Microsoft JDBC Driver 12.6.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.6.0 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Nouvelles fonctionnalités de la version 12.6

Fonctionnalité Détails
Prise en charge de Java 21 Le pilote est désormais compatible avec JDK (Java Development Kit) version 21.0 en plus de JDK 17.0, 11.0 et 1.8.
Autoriser l’appel de procédures stockées directement grâce à l’utilisation de la nouvelle propriété de connexion useFlexibleCallableStatements Le gestionnaire appelle désormais directement les procédures de stockage, plutôt que d’envelopper la procédure autour de exec sp_executesql, en simplifiant la procédure et en améliorant les performances.
Ajout de la propriété de chaîne de connexion useDefaultJaasConfig La valeur vrai autorise l'authentification Kerberos sans configuration externe supplémentaire.
Ajout de la propriété de chaîne de connexion useDefaultGSSCredential La valeur vrai autorise le gestionnaire de créer un certificat GSSCredential pour le compte de l'utilisateur, lors de l'utilisation de l'interface native GSS-API pour l'authentification Kerberos.
Ajout de la propriété de chaîne de connexion calcBigDecimalPrecision La valeur vrai autorise le gestionnaire de calculer la précision des entrées BigDecimal.
Ajout de nouveaux enregistreurs d’événements nommés pour les tentatives d'ouverture de connexion et les reconnexions basées sur la résilience des connexions inactives. Les tentatives d'ouverture de connexion utilisent la catégorie de journalisation Redirection et peuvent être utilisées au niveau de journalisation FINE. Les reconnexions basées sur la résilience des connexions inactives utilisent la catégorie de journalisation Résilience et peuvent être utilisées aux niveaux de journalisation FINE ou FINER.

Changements de la version 12.6

Modifier Détails
Modification de la vérification du JDK d'IBM pour éviter les problèmes avec les environnements OSGi Modification de la vérification du nom du fournisseur uniquement par la vérification du nom du fournisseur et du nom de la machine virtuelle.
Synchronisation correcte de tous les appels vers MSAL Empêche le gestionnaire d'effectuer des appels supplémentaires et de provoquer des dialogues inutiles.
Ajout d’erreurs supplémentaires qui devraient se traduire par RMFAIL Ajout de cas supplémentaires, « connexion réinitialisée par l'homologue » et « expiration du délai d’attente de connexion », qui devraient correspondre à RMFAIL
Modification de l'utilisation des horodateurs dans copie en bloc Modification du comportement de copie en bloc, qui passe de la sérialisation et de la désérialisation des objets horodateurs à l'utilisation directe des objets, ce qui permet d'améliorer les performances lorsqu’un utilise utilise un grand nombre d'horodateurs.
Modifié socketTimeout pour s'assurer qu'il est bien inférieur à loginTimeout Auparavant, socketTimeout agissait indépendamment de loginTimeout, ce qui entraînait un comportement potentiellement confus où le gestionnaire mettait plus de temps que prévu à dépasser le délai d’expiration. Ce problème a été corrigé afin que socketTimeout ait toujours une limite supérieure égale à loginTimeout.
Ajustement du cache PreparedStatement pour qu'il s'efface avant chaque exécution. Le cache PreparedStatement n'était pas nettoyé correctement, ce qui, en plus de sa faible fréquence, pouvait entraîner des problèmes de mémoire au fil du temps. Cette modification garantit que le cache est nettoyé avant chaque exécution, évitant ainsi l'accumulation d'objets.
Mise à niveau des dépendances de Bouncycastle Passer de bcprov-jdk15on et bcpkix-jdk15on à bcprov-jdk18on et bcpkix-jdk18on car le premier n'est plus mis à jour.
Dépendances mises à jour La version des dépendance est mise à jour pour azure-identity, azure-security-keyvault-keys, bouncycastle, h2 et msal.

Correctifs de la version 12.6

Fix Détails
Correction d'une absence de vérification de nullité pour e.getCause() Correction pour un problème où, lorsqu'une exception n'a pas de cause, l'exception elle-même est transmise à la place, ce qui évite qu'elle soit perdue. Problème GitHub n° 2299.
Correction des verrous dans IOBuffer pour prévenir les problèmes de blocage qui pourraient survenir Correction de l'implémentation des verrous dans IOBuffer, en particulier autour de disableSSL, afin de prévenir les blocages pouvant survenir dans certaines situations. Problème GitHub n° 2288. Problème GitHub n° 2265.
Correction pour un problème avec les horodateurs et la copie en bloc pour l'insertion par lots. Correction du fuseau horaire qui n'est pas correctement appliqué aux horodateurs lorsqu'ils sont insérés en utilisant l'insertion par lot avec copie en bloc. Problème GitHub n° 2271.
Correction des getters et des setters manquants pour useBulkCopyForBatchInsert Correction pour un problème où le comportement n'était pas le même entre SQLServerConnection et SQLServerConnnectionPoolProxy, alors qu'il devrait l'être, car il manquait à useBulkCopyForBatchInsert un getter et un setter dans ce dernier. Problème GitHub n° 2245.
Correction de la requête de métadonnées de copie en bloc afin d'utiliser les données mises en cache, si elles sont disponibles Correction pour un problème où, malgré la mise en cache des données, les métadonnées des colonnes étaient appelées à chaque fois. Problème GitHub n° 2224.
Correction d'un manque de vérification de la mise à l'échelle BigDecimal pour les valeurs TVP Correction pour un problème où, lors de l'écriture de valeurs de lignes TVP, les valeurs d'entrée n'étaient pas correctement filtrées pour la mise à l'échelle BigDecimal. Problème GitHub n° 2222.
Correction de schemaPattern dans SQLServerDatabaseMetadata pour s'assurer que les méthodes qui utilisent le paramètre l'échappent correctement. Correction pour un problème où schemaPattern était le seul modèle à ne pas être correctement échappé dans SQLServerDatabaseMetadata. Problème GitHub n° 2186.
Correction pour un problème où un SQLState nul était renvoyé lors de la conversion d'une date en une longue Correction pour un problème où, lorsque xopenStates est défini sur vrai, le gestionnaire ne renvoie pas le code d'état SQL-99 attendu dans une instance particulière. Problème GitHub n° 2167.
Correction de l'erreur getMetaData pour les requêtes contenant TOP Correction pour un problème où, lors de l'utilisation du qualificateur TOP dans une requête, le gestionnaire renvoie une erreur concernant ParameterMetadata. Problème GitHub n° 1776.
Correction d'un problème d'analyse du nom de la table lors de l'utilisation d'insertions par lots Correction pour un problème où les instructions d'insertion avec des espaces blancs manquants fonctionnaient correctement dans les cas réguliers, mais pas lors de l'utilisation d'insertions par lots. Problème GitHub n° 1534.
Correction pour un problème avec ParameterMetadata et les index non valables Correction pour un problème avec ParameterMetadata qui ne vérifiait pas correctement, et qui lançait des exceptions pour un index 0 non valable. Problème GitHub n° 1490.
Correction du comportement d'ActivityID dans ActivityCorrelator Correction de la définition et de l'utilisation d'ActivityID pour être plus conforme avec le comportement des autres gestionnaires de Microsoft.
Correction pour ignorer les colonnes calculées lors de l'utilisation de copie en bloc pour l'insertion par lots. Correction du comportement de copie en bloc afin d'ignorer les colonnes calculées et d'autoriser les insertions par lots, alors qu'auparavant l'insertion échouait et renvoyait une erreur citant ces colonnes calculées.
Correction du comportement du gestionnaire concernant les signatures lors de l'utilisation de Java Key Store et Azure Key Vault Correction pour un problème où le pilote ne vérifiait pas correctement la signature, lors de l'utilisation de Java Key Store, et ajout d'une nouvelle API pour signer les métadonnées de la clé principale de la colonne (et renvoyer la signature générée) pour une utilisation avec Java Key Store et Azure Key Vault
Corrige la conversion erronée de DateTimeOffset par getObject() Correction pour un problème lors de l'appel de ResultSet.getObject() sur une colonne DATETIMEOFFSET, avec LocalDate/LocalTime/LocalDateTime comme argument de classe, la valeur dans la colonne était convertie dans le fuseau horaire local.

12.4

Télécharger Microsoft JDBC Driver 12.4.2 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.4.2 pour SQL Server (tar.gz)

Numéro de version : 12.4.2
Mise en production : 27 octobre 2023

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 12.4

Modification de conformité Détails
Téléchargez les dernières mises à jour du pilote JDBC 12.4. GitHub, 12.4.0.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 12.4 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-12.4.0.jre11.jar du package 12.4 doit être utilisé avec Java 11 (ou version ultérieure).
Compatible avec les versions 20.0, 17.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 12.4 pour SQL Server est maintenant compatible avec la version 20.0 du JDK (Java Development Kit), en plus des versions 17.0, 11.0 et 1.8 du JDK.

Versions 12.4

Numéro de version : 12.4.2
Mise en production : 21 septembre 2023

Problèmes résolus dans 12.4.2 :

  • Rétablissait la vérification IBM à la vérification fournisseur et ajoutait un nom de machine virtuelle supplémentaire à la vérification pour supprimer les faux positifs

Télécharger Microsoft JDBC Driver 12.4.2 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.4.2 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 12.4.1
Publication : 24 août 2023

Changements dans 12.4.1 :

  • Les noms de paramètres SQL préparés sont désormais appliqués à l’espacement automatique

Problèmes résolus dans 12.4.1 :

  • Correction de la requête de métadonnées getUserName dans le contexte de sécurité usurpé dans la base de données Azure SQL
  • Correction de la détection JDK IBM
  • Correction d’un bogue dans lequel la signature n’est pas vérifiée pour le Magasin de clés Java et ajout de l’API signColumnMasterkeyMetadata à JKS et AKV
  • Ajout de la localisation des chaînes d’erreur manquantes dans la version d’origine

Télécharger Microsoft JDBC Driver 12.4.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.4.1 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 12.4.0
Publication : 31 juillet 2023

Télécharger Microsoft JDBC Driver 12.4.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.4.0 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Nouvelles fonctionnalités de la version 12.4

Fonctionnalité Détails
Prise en charge de Java 20 Le pilote est désormais compatible avec JDK (Java Development Kit) version 20.0 en plus de JDK 17.0, 11.0 et 1.8.
Ajout de la propriété de chaîne de connexion de rappel de jeton d’accès Complète le rappel de jeton d’accès précédemment implémenté en autorisant la transmission du nom de la classe de rappel-implémentation dans la chaîne de connexion.
Ajout de la prise en charge d’ActiveDirectoryServicePrincipalCertificate Amélioration de l’expérience utilisateur grâce à la prise de charge de ActiveDirectoryServicePrincipalCertificate issu de la bibliothèque Azure Identity par le biais de l’option de connexion authentication=ActiveDirectoryServicePrincipalCertificate.
Ajout d’un autre cas pour XAER_RMFAIL Le pilote retournait toujours une XAException avec l’erreur XAER_RMERR dans certains cas. Un cas supplémentaire a été ajouté à la gestion des erreurs XA pour résoudre ce problème.

Changements de la version 12.4

Modifier Détails
Mise à jour de la logique d’authentification fédérée pour utiliser le cache de jetons persistant lors de la récupération du jeton Cette mise à jour améliore les performances dans les scénarios de récupération de jetons et permet plus facilement la compatibilité avec les futures versions MSAL.
Autoriser le partenaire de basculement à essayer s’il existe un délai d’expiration du socket Autorise une tentative de reconnexion avec un partenaire de basculement fourni après un délai d’expiration de socket.
Amélioration des performances lors de la création de définitions de type de paramètre En calculant à l'avance la taille des tableaux et des générateurs de chaînes utilisés dans buildParamTypeDefinitions et en supprimant les allocations de chaînes inutiles, les performances sont améliorées lorsque cette méthode est utilisée.
Modification de serverName envoyé dans le paquet LOGIN pour inclure instanceName serverName est maintenant ajouté à la fin de instanceName dans les paquets LOGIN.
Mise à jour de la méthode supportTransaction pour indiquer si le serveur prend en charge les transactions Résout un problème où connection.rollback ne fonctionnait pas pour la base de données Azure Synapse, car Azure Synapse ne prend pas en charge la syntaxe utilisée dans supportTransaction.
Mettre à jour les appels sp_cursor afin que les noms de la table soient passés au lieu d’avoir une chaîne vide Résout un problème à cause duquel des mises à jour incohérentes des lignes ResultSet ont été reçues lors de la mise à jour de tables « un-à-plusieurs ».
Mise à jour de supportsLikeEscapeClause() à vérifier pour Azure Data Warehouse Résout un problème à cause duquel supportsLikeEscapeClause retournait « vrai » pour AzureDW, même s’il n’est pas pris en charge explicitement.
Mise à niveau vers la dernière spécification JDBC OSGi Effectuez une mise à niveau de osgi.compendium 5.0.0 vers osgi.service.jdbc 1.1.0 pour maintenir la conformité avec la spécification JDBC OSGi 8.1.0.
Dépendances mises à jour La version des dépendance est mise à jour pour azure-identity, azure-security-keyvault-keys, gson, h2 et msal.

Correctifs de la version 12.4

Fix Détails
Correction des problèmes de performances et de mémoire présents avec BigDecimal Rétablit toutes les modifications, depuis la version 12.2, concernant BigDecimal. Ce correctif résout les problèmes de performances observés. Les utilisateurs doivent faire attention lorsqu’ils utilisent BigDecimal afin d’éviter les problèmes de troncation qui ont été abordés précédemment. Problème GitHub n° 2176.
Correction de la validation du certificat de serveur pour encrypt=strict Correction pour vérifier que le certificat de serveur est correctement validé dans les cas où encrypt est défini sur strict. Problème GitHub n° 2174.
Correction de lockTimeout ne prenant pas effet lorsque le mode de redirection est défini dans Azure DB Correction lorsque lockTimeout est défini, car il ne doit s’appliquer qu’aux connexions ne provenant pas d’Azure, et non à partir d’Azure, comme c’était le cas précédemment. Problème GitHub n° 2110.
Correction du nombre élevé de threads lors de l’utilisation de findSocketUsingThreading Corrige un problème où une exception non interceptée a entraîné une interruption dans les appels de veille en amont, ce qui provoque des nouvelles tentatives trop rapidement. Problème GitHub n° 2104.
Correction de la condition de concurrence du retardateur partagé Correction d’une condition de concurrence potentielle dans la classe SharedTimer. Problème GitHub n° 2085.
Correction d’une erreur avec des procédures stockées et aucun retour de résultat metaQuery Correction pour un problème à cause duquel, si metaQuery aucun résultat n’a été retourné après l’exécution d’une procédure stockée, ce problème renvoyait une erreur non définie par paramètre. Problème GitHub n° 2063.
Correction des insertions de lots non valables lorsque les colonnes fournies dans l’insertion diffèrent dans l’ordre du schéma de table Correction pour un problème où l’utilisation de useBulkCopyForBatchInsert=true peut entraîner une combinaison de colonnes et des données non valables. Problème GitHub n° 1992.
Correction de la gestion des erreurs XA pour rélancer XAER_RMFAIL au lieu de XAER_RMERR Correction pour un problème à cause duquel le pilote retournerait XAException avec le code d’erreur XAER_RMERR s’il y a un basculement de SQL Server du nœud principal vers le nœud de secours lors de la validation d’une transaction XA. Problème GitHub n° 1432.
Correctifs sur l’ID d’activité et le comportement de l’ID client pour maintenir la cohérence avec la spécification JDBC Correction du comportement de l’ID d’activité pour rester le même pour la durée du processus, toujours envoyer l’ID d’activité dans PRELOGIN et incrémenter la séquence pour chaque nouvelle connexion. L’ID client a également été corrigé pour qu’il persiste pendant toute la durée du processus.

12,2

Télécharger Microsoft JDBC Driver 12.2.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.2.0 pour SQL Server (tar.gz)

Numéro de version : 12.2.0
Date de publication : 31 janvier 2023

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 12.2

Modification de conformité Détails
Téléchargez les dernières mises à jour pour JDBC Driver 12.2. GitHub, 12.2.0.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 12.2 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-12.2.0.jre11.jar du package 12.2 doit être utilisé avec Java 11 (ou ultérieur).
Compatible avec les versions 19.0, 17.0, 11.0 et 1.8 du JDK (Java Development Kit). Microsoft JDBC Driver 12.2 pour SQL Server est maintenant compatible avec la version 19.0 du JDK (Java Development Kit), en plus des versions 17.0, 11.0 et 1.8 du JDK.

Versions 12.2

Télécharger Microsoft JDBC Driver 12.2.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 12.2.0 pour SQL Server (tar.gz)

Numéro de version : 12.2.0
Date de publication : 31 janvier 2023

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Nouvelles fonctionnalités de la version 12.2

Fonctionnalité Détails
Prise en charge de Java 19 Le pilote est désormais compatible avec la version 19.0 du JDK (Java Development Kit), en plus des versions 17.0, 11.0 et 1.8 du JDK.
Ajout de la prise en charge du rappel de jeton d’accès Permet au code client d’inscrire un rappel sur un DataSource qui retourne un jeton d’accès.
Ajout de la prise en charge de DefaultAzureCredential Amélioration de l’expérience utilisateur grâce à la prise de charge de DefaultAzureCredential et de IntelliJCredential issus de la bibliothèque Azure Identity par le biais de l’option de connexion authentication=ActiveDirectoryDefault.
Ajout d’une nouvelle propriété de connexion datetimeParameterType pour spécifier le type de données à utiliser pour les paramètres date/horodateur Ajout d’une propriété de connexion datetimeParameterType, qui permet aux utilisateurs de spécifier explicitement des conversions vers datetime ou datetime2, ce qui offre une plus grande compatibilité dans les bases de données plus anciennes.

Changements dans 12.2

Modifier Détails
Pilote désormais compatible avec Loom Remplace synchronized(foo) par des verrous réentrants, améliorant ainsi les performances avec Loom.
L’authentification Managed Identity utilise la bibliothèque Azure Identity Remplace le code intégré du pilote pour obtenir et mettre en cache des jetons Managed Identity avec la bibliothèque Azure Identity. La prise en charge de Managed Identity est donc étendue à d’autres services Azure par rapport à ce que le pilote prenait en charge précédemment.
Fait de MSAL une dépendance facultative Fait de msal4j une dépendance facultative à nouveau.
Dépendances mises à jour Mise à jour des versions des dépendances pour azure-identity, azure-security-keyvault-keys, antlr4-runtime, bcprov-jdk15on, bcpkix-jdk15on et msal.
Mettre à jour pour vérifier de façon dynamique la classe ExtendedSocketOption Résout une erreur où les extendedSocketOptions manquants renvoyaient un NoClassDefFoundError.

Correctifs dans 12.2

Fix Détails
Correction de l’état SQL null et du code d’erreur zéro lorsqu’une exception de base de données est levée Correction pour un problème entraînant l’affichage d’informations incorrectes pour l’état SQL et le code d’erreur après une erreur SQL. Problème GitHub n° 2015.
Correction de la récupération d’une connexion inactive de sorte que unprocessedResponseCount ne soit pas décrémenté unprocessedResponseCount ne doit être décrémenté que lorsque doneToken.isFinal est vrai, il était décrémenté indépendamment de ce fait. Problème GitHub n° 1971.
Correction de la connexion au mauvais hôte SQLServer Correction d’un problème de concurrence pouvant entraîner une connexion à un hôte incorrect quand un pilote se connecte à plusieurs hôtes SQL Server. Problème GitHub n° 1964.
Correction de updateCount incorrecte Le nombre de mises à jour incorrectes peut se produire dans les cas true/false pour enablePrepareOnFirstPreparedStatementCall et pour prepexec/prepare. Problème GitHub n° 1961.
Correction des problèmes de concurrence dans les méthodes d'obfuscation de chiffrement/déchiffrement relatives au mot de passe de truststore Ajout de verrous pour chiffrer/déchiffrer dans l’obfuscation du mot de passe de truststore. Problème GitHub n° 1939.
Correction d’un problème de casse lié aux noms de comptes de cache Correction d’un problème entraînant des demandes de connexion répétées quand des noms de comptes sont envoyés à la bibliothèque d’authentification Microsoft avec respect de la casse. Problème GitHub n° 1923.
Correction d’un bogue d’annulation de requête Correction d’un bogue d’annulation de requête qui se produisait par intermittence dans les requêtes par lots. Problème GitHub n° 1896.
Correction des erreurs d’instruction appelables Corrige les erreurs d’instruction appelables « index hors limites » et « paramètre non défini ». Problème GitHub n° 1871.
Correction de la vérification du jeton DONE lors de l’extraction des jeux de résultats Ajout d'un cas manqué à la correction de DONE_ERROR précédente, où le pilote ignorait le statut DONE_ERROR du serveur résultant d'une session tuée. Problème GitHub n° 1846. Problème GitHub n° 1505.
Vérifiez que batchParamValues est effacé dans tous les cas lors de l’exécution d’un lot Résout un problème où les lots n’ont pas été correctement effacés lors de l’utilisation de la mise à jour en bloc. Problème GitHub n° 1767.
Correction de la précision envoyée lors de l’utilisation de BigDecimal Correction d’un problème pouvant entraîner un arrondi décimal indésirable quand des valeurs BigDecimal sont envoyées, par défaut, avec une précision maximale. Problème GitHub n° 1489. Problème GitHub n° 942
Correction du protocole d’attestation NONE pour qu’il fonctionne dans tous les cas Correction de la logique derrière le protocole d’attestation NONE pour que celui-ci fonctionne dans tous les cas, pas seulement des cas spécifiques.
Correction de la condition de concurrence dans SecureStringUtil Correction d’une condition de concurrence dans SecureStringUtil lors de la création de SecureStringUtil.

11.2

Télécharger Microsoft JDBC Driver 11.2.3 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 11.2.3 pour SQL Server (tar.gz)

Numéro de version : 11.2.3
Date de publication : 12 janvier 2023

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

11.2 Conformité

Modification de conformité Détails
Téléchargez les dernières mises à jour pour JDBC Driver 11.2. GitHub, 11.2.0.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 11.2 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-11.20.jre17.jar du package 11.2 doit être utilisé avec Java 17.
Compatible avec les versions 18.0, 17.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 11.2 pour SQL Server est maintenant compatible avec la version 18.0 du Kit de développement Java, en plus des versions 17.0, 11.0 et 1.8.

Versions 11.2

Numéro de version : 11.2.3
Date de publication : 12 janvier 2023

Problèmes résolus dans la version 11.2.3 :

  • Correction de l’état SQL null et du code d’erreur zéro lorsqu’une exception de base de données est levée
  • Correction du nombre de mises à jour incorrect lorsque le délai d’expiration se produit dans les requêtes par lots
  • Correction de la date d’expiration de jeton incorrecte lors de l’utilisation d’Azure Functions
  • Correction de la connexion au mauvais hôte SQLServer

Numéro de version : 11.2.2
Date de publication : 15 décembre 2022

Problèmes corrigés dans 11.2.2 :

  • Correction du bogue de résilience des connexions inactives
  • Vidage du cache du handle d’instruction préparée lors de la reconnexion inactive
  • Correction de l’erreur d’index hors limites pour une instruction pouvant être appelée
  • Correction de la vérification du jeton DONE lors de l’extraction des jeux de résultats
  • Correction de l’erreur intermittente : « Erreur interne pendant le déchiffrement : incompatibilité de balise ! »

Télécharger Microsoft JDBC Driver 11.2.2 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 11.2.2 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 11.2.1
Date de publication : 8 septembre 2022

Problèmes corrigés dans 11.2.1 :

  • com.microsoft.azure:msal4j est devenu une dépendance facultative
  • Correction d’un bogue d’annulation de requête qui se produisait par intermittence dans les requêtes par lots

Télécharger Microsoft JDBC Driver 11.2.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 11.2.1 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 11.2.0
Date de publication : 4 août 2022

Télécharger Microsoft JDBC Driver 11.2.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 11.2.0 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Nouvelles fonctionnalités de la version 11.2

Fonctionnalité Détails
Prise en charge de Java 18 Le pilote est désormais compatible avec JDK (Java Development Kit) version 18.0 en plus de JDK 17.0, 11.0 et 1.8.
Ajout de la prise en charge d’IPv6 configurable La préférence d’adresse IP pour l’application cliente peut désormais être définie entre IPv4 et IPv6. Utilisez le nouveau paramètre de connexion ipaddresspreference pour contrôler le comportement. Pour plus d'informations, consultez Définition des propriétés de connexion.
Ajout de la prise en charge de la sélection de méthode de préparation aAjout d’une nouvelle propriété de chaîne de connexion prepareMethod pour basculer entre l’utilisation de sp_prepare et la sp_prepexec. Utilisez le nouveau paramètre de connexion prepareMethod pour contrôler le comportement. Pour plus d'informations, consultez Définition des propriétés de connexion.
Ajout de la propriété de connexion serverCertificate pour encrypt=strict Ajout d’une propriété serverCertificate qui est le chemin d’accès au fichier de certificat de serveur (au format PEM). Utilisé pour la validation lors de l’utilisation du chiffrement défini sur strict. Pour plus d'informations, consultez Définition des propriétés de connexion.
Appels de métadonnées de paramètre de cache Les informations relatives au chiffrement pour les requêtes paramétrables peuvent désormais être mises en cache. Consultez Utilisation d'Always Encrypted avec le pilote JDBC.
Ajout de la prise en charge de l’insertion en bloc de valeurs GUID Null Résout un problème au cours duquel l’insertion de valeurs Null n’était pas possible en mode d’insertion en bloc.
Ajout de la prise en charge de la mise en cache des jetons d’identité managée Autorisez la mise en cache des jetons obtenus à partir de points de terminaison d’identité managée.

Changements dans 11.2

Modifier Détails
Prise en charge de TDS 8.0 en ajoutant l’option « strict » pour chiffrer la propriété de connexion CHANGEMENT CASSANT La propriété de chiffrement de la connexion est désormais de type chaîne.
Ajout de la vérification de l’ALPN négocié Vérifie que le protocole Application-Layer est correctement négocié.
Ajout d’une option pour enclaveAttestationProtocol Option ajoutée pour le protocole NONE afin que les enclaves sécurisées puissent être utilisées sans attestation.
Autoriser la réorganisation de serverName dans la chaîne de connexion Vérifiez que le champ serverName de la chaîne de connexion n’a pas de signe égal.
Ajout d’une meilleure journalisation des erreurs pour la bibliothèque MSAL manquante Ajout d’un message d’erreur lorsque MSAL est manquant lors de l’utilisation de ActiveDirectoryServicePrincipal.
Refactorisation du délai d’expiration de la résilience des connexions inactives pour utiliser SharedTimer existant Amélioration de l’efficacité avec la résilience d’une connexion inactive à l’aide de SharedTimer existant.
Envoyer la version 8 de TDS dans Login7 lorsqu’en mode strict Ajout d’informations supplémentaires au paquet Login7 en incluant la version 8 de TDS quand encrypt=strict.
Modification de la valeur loginTimeout par défaut à 30 secondes Modification de la valeur loginTimeout par défaut de 15 secondes à 30 secondes pour permettre plus de temps pour la résolution des connexions intiales avant l’expiration du délai d’attente.
La dépendance msal4j est désormais explicite Ajout d’une dépendance explicite pour msal4j (était une dépendance transitive dans les versions précédentes).
Dépendances mises à jour La version des dépendances est mise à jour pour azure-identity et azure-security-keyvault-keys.

Correctifs dans 11.2

Fix Détails
Correction de l’erreur provoquée par prepareMethod=prepare Correction de l’erreur de gestion intermittente de l’instruction préparée null provoquée par sp_prepare lorsqu’elle est utilisée avec des requêtes par lots Problème GitHub n° 1880.
Correction d’une erreur lors de l’établissement de plusieurs connexions en parallèle qui peut lever une exception IndexOutOfBoundsException Correction d’une condition de concurrence avec addressList qui peut entraîner l’exception IndexOutOfBoundsException lors de l’établissement de plusieurs connexions Problème GitHub n° 1852.
La correction de l’assertion échoue lors de l’annulation de l’instruction « insert into » Correction pour un problème en raison duquel le pilote pouvait créer une assertion lors de l’annulation d’une instruction Problème GitHub n° 1849.
Correction d’une exception qui n’est pas levée comme prévu lorsque la session est terminée dans SQL Database Ajout de la vérification du jeton d’état DONE_ERROR qui peut se produire à partir d’une session terminée sur le serveur Problème GitHub n° 1846.
Intervalle de nouvelle tentative d’identité managée Correction de l’intervalle de nouvelle tentative d’identité managée pour revenir de manière exponentielle correctement au problème GitHub #1765.
Suppression d’un appel supplémentaire à executeCommand() dans connectionCommand() Suppression d’un appel supplémentaire à executeCommand, ce qui entraînait des problèmes de performances pour certains utilisateurs Problème GitHub n° 1669.
Correction de l’erreur de jeton inconnu à l’aide de selectMethod Correction d’une erreur 0xA3 de jeton inconnue lorsque le curseur selectMethod est utilisé avec la classification des données.

10,2

Télécharger Microsoft JDBC Driver 10.2.3 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 10.2.3 pour SQL Server (tar.gz)

Numéro de version : 10.2.3
Date de publication : 12 janvier 2023

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 10.2.2
Publication : 13 décembre 2022

Télécharger Microsoft JDBC Driver 10.2.2 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 10.2.2 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Numéro de version : 10.2.1
Publication : 12 mai 2022

Télécharger Microsoft JDBC Driver 10.2.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 10.2.1 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

10.2 Conformité

Modification de conformité Détails
Téléchargez les dernières mises à jour pour JDBC Driver 10.2. GitHub, 10.2.0.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 10.2 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-10.20.jre17.jar du package 10.2 doit être utilisé avec Java 17.
Compatible avec les versions 17.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 10.2 pour SQL Server est maintenant compatible avec la version 17.0 du Kit de développement Java, en plus des versions 11.0 et 1.8.

Versions 10.2

Numéro de version : 10.2.3
Date de publication : 12 janvier 2023

Problèmes résolus dans la version 10.2.3 :

  • Correction du nombre de mises à jour incorrect lorsque le délai d’expiration se produit dans les requêtes par lots
  • Correction de la date d’expiration de jeton incorrecte lors de l’utilisation d’Azure Functions
  • Correction de l’état SQL null et du code d’erreur zéro lorsqu’une exception de base de données est levée

Numéro de version : 10.2.2
Publication : 13 décembre 2022

Problèmes corrigés dans 10.2.2 :

  • Effacement du cache d’instructions préparées lors des reconnexions avec résilience des connexions inactives
  • Correctif pour la définition des options étendues KeepAlive
  • Correction du problème en raison duquel le pilote pouvait créer une assertion lors de l’annulation d’une instruction
  • Correction de l’erreur d’index hors limites pour une instruction pouvant être appelée
  • Résolution du problème de non-vérification des erreurs de jeton DONE, de sorte que les exceptions sont ignorées
  • Correction d’un bogue d’annulation de requête

Numéro de version : 10.2.1
Publication : 12 mai 2022

Problèmes résolus dans 10.2.1 :

  • Modification du délai d’expiration de la résilience des connexions inactives pour utiliser SharedTimer existant
  • Correction de l’intervalle de nouvelles tentatives d’authentification de l’identité managée pour revenir de manière exponentielle correctement
  • Suppression d’un appel superflu à executeCommand() dans connectionCommand()

Numéro de version : 10.2.0
Publication : 31 janvier 2022

Télécharger Microsoft JDBC Driver 10.2.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 10.2.0 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Nouvelles fonctionnalités de la version 10.2

Fonctionnalité Détails
Prise en charge de Java 17 Le pilote est désormais compatible avec JDK (Java Development Kit) version 17.0 en plus de JDK 11.0 et 1.8.
Prise en charge de la résilience des connexions inactives La résilience des connexions inactives est maintenant prise en charge. Consultez Résilience des connexions inactives.
Fournisseurs de magasins de clés multi-utilisateurs Le pilote prend désormais en charge les fournisseurs de magasins de clés au niveau connexion et instruction pour prendre en charge des scénarios multi-utilisateurs. Consultez Utilisation d'Always Encrypted avec le pilote JDBC.

Changements dans 10.2

Modifier Détails
Chiffrement par défaut sur true CHANGEMENT CASSANT Le chiffrement TLS est activé par défaut.
Validation du certificat quand encrypt = false CHANGEMENT CASSANT Si encrypt = false, alors que le serveur exige un chiffrement, le certificat est validé en fonction du paramètre de connexion trustServerCertificate.
Dépréciation d’aadSecurePrincipalId et d’aadSecurePrincipalSecret Les propriétés de connexion aadSecurePrincipalId et aadSecurePrincipalSecret sont dépréciées. Utilisez un nom d’utilisateur et un mot de passe à la place.
Suppression de l’API getAADSecretPrincipalId CHANGEMENT CASSANT L’API getAADSecretPrincipalId est supprimée pour des raisons de sécurité.
Prise en charge de SQL_Variant Ajout de la prise en charge du type de données SQL_Variant lors de la récupération de DateTimeOffset.
Appel aléatoire non bloquant dans Linux Mise à jour pour utiliser un appel aléatoire non bloquant lors de la génération d’un GUID pour les packages d’enclaves.
Résolution CNAME pour le domaine Ajout de la résolution CNAME lorsque le domaine est spécifié.
Dépendances mises à jour Mise à jour des versions des dépendances pour azure-identity, azure-security-keyvault-keys, gson et bouncycastle.

Correctifs dans 10.2

Fix Détails
Blocage de TDSParser sur TDS_COLMETADATA Correction : Blocage de TDSParser sur TDS_COLMETADATA, ce qui peut provoquer le blocage de certaines requêtes. Problème GitHub n° 1661

9,4

Télécharger Microsoft JDBC Driver 9.4.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 9.4.1 pour SQL Server (tar.gz)

Numéro de version : 9.4.1
Publication : 7 décembre 2021

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité 9.4

Modification de conformité Détails
Téléchargez les dernières mises à jour pour JDBC Driver 9.4. GitHub, 9.4.0.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 9.4 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-9.4.0.jre16.jar du package 9.4 doit être utilisé avec Java 16.
Compatible avec les versions 16.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 9.4 pour SQL Server est maintenant compatible avec la version 16.0 du Kit de développement Java, en plus des versions 11.0 et 1.8.

Versions 9.4

Numéro de version : 9.4.1
Publication : 7 décembre 2021

Problèmes résolus dans 9.4.1 :

  • Correction d’un blocage potentiel quand le pilote rencontre un TDS_COLMETADATA non pris en charge
  • Correction de la conversion de LocalDateTime et de LocalTime en chaîne dans la copie en bloc

Numéro de version : 9.4.0
Date de publication : 30 juillet 2021

Télécharger Microsoft JDBC Driver 9.4.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 9.4.0 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Nouvelles fonctionnalités de la version 9.4

Fonctionnalité Détails
Prise en charge de Java 16 Le pilote est désormais compatible avec JDK (Java Development Kit) version 16.0 en plus de JDK 11.0 et 1.8.
Prise en charge de la connexion de réplication Les connexions de réplication sont maintenant prises en charge. Voir Définition des propriétés de connexion.
Domaine d’authentification Kerberos personnalisé Le pilote prend désormais en charge la spécification d’un domaine d’authentification personnalisé lors de l’utilisation de l’authentification Kerberos. Voir Définition des propriétés de connexion.
Tentatives d’ouvertures de connexions Les propriétés de connexion connectRetryCount et connectRetryInterval sont ajoutées pour configurer les nouvelles tentatives automatiques lors de l’ouverture des connexions. Pour plus d’informations sur ces nouvelles propriétés, consultez Définition des propriétés de connexion.

Changements dans 9.4

Modifier Détails
Fournisseur Azure Key Vault Plusieurs connexions successives peuvent être ouvertes, qui spécifient des informations de fournisseur Azure Key Vault différentes.
Messages d’erreur mis à jour Les messages d’erreur liés aux exceptions Enclave comprennent désormais un lien vers un guide de dépannage.
Les messages d’erreur liés aux échecs d’authentification Active Directory incluent désormais la chaîne d’erreur de la bibliothèque sous-jacente.
Version du pilote envoyée au serveur La version du pilote est désormais correctement envoyée à la base de données pendant PRELOGIN.
ID de processus client L’ID de processus client est maintenant envoyé au serveur lors de l’exécution sur Java 9+. Java 8 conserve les fonctionnalités précédentes de l’envoi 0 pour l’ID de processus client.
Dépendances mises à jour La version des dépendance est mise à jour pour azure-identity, azure-security-keyvault-keys, gson, antlr et bouncycastle.
Suppression des références inutiles Suppression des références de classe spécifiques à Java 9 inutilisées dans le fichier jar Java 8

Correctifs dans 9.4

Fix Détails
Problème GitHub n° 1499 Problème résolu : le lot échoue quand Always Encrypted est activé dans la chaîne de connexion et que clearParameters est appelé.
Problème GitHub n° 1632 Problème résolu : petite fuite de mémoire lors d’une nouvelle connexion.
Problème GitHub n° 1565 Correction pour un problème où trustStorePassword a la valeur null lors de l’utilisation de applicationIntent=ReadOnly
Problème GitHub n° 1568 Correction pour un problème où le jeton redirigé contient une instance nommée dans ServerName
Problème GitHub n° 1531 Correction du dépassement potentiel de capacité d’un entier dans TDSWriter.writeString()

9.2

Télécharger Microsoft JDBC Driver 9.2.1 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 9.2.1 pour SQL Server (tar.gz)

Numéro de version : 9.2.1
Publication : 2 mars 2021

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 9.2

Modification de conformité Détails
Téléchargez les dernières mises à jour pour JDBC Driver 9.2. GitHub, 9.2.1.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 9.2 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-9.2.1.jre15.jar du package 9.2 doit être utilisé avec Java 15.
Compatible avec les versions 15.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 9.2 pour SQL Server est maintenant compatible avec la version 15.0 du Kit de développement Java, en plus des versions 11.0 et 1.8.

Versions release 9.2

Numéro de version : 9.2.1
Publication : 2 mars 2021

Problèmes résolus dans 9.2.1 :

  • Correction pour un problème lié à la clé secrète client vide pendant l’authentification ActiveDirectoryServicePrincipal dans l’environnement Azure.

Numéro de version : 9.2.0
Publication : 29 janvier 2021

Télécharger Microsoft JDBC Driver 9.2.0 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 9.2.0 pour SQL Server (tar.gz)

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Prise en charge de JDK 15

Microsoft JDBC Driver 9.2 pour SQL Server est maintenant compatible avec la version 15.0 du Kit de développement Java, en plus des versions 11.0 et 1.8.

Ajout de la prise en charge de l’authentification interactive Azure Active Directory

Ajout du type d’authentification Détails
Microsoft JDBC Driver 9.2 pour SQL Server prend maintenant en charge l’authentification auprès d’Azure Key Vault avec l’authentification interactive. Consultez Connexion avec l’authentification Azure Active Directory.

Ajout de la prise en charge de l’authentification par principal de service Azure Active Directory

Ajout du type d’authentification Détails
Microsoft JDBC Driver 9.2 pour SQL Server prend maintenant en charge l’authentification auprès d’Azure Key Vault en utilisant l’ID et le secret client d’une identité de principal de service. Consultez Connexion avec l’authentification Azure Active Directory.

Mise à jour de la bibliothèque Azure Key Vault pour l’utilisation de la bibliothèque Azure Key Vault moderne

Modifications de la bibliothèque pour Azure Key Vault Détails
Microsoft JDBC Driver 9.2 a migré de la bibliothèque Azure Key Vault de la génération précédente et des bibliothèques ADAL vers les équivalents modernes d’Azure Key Vault et d’Azure Identity. MODIFICATION DES DÉPENDANCES - Veillez à mettre à jour les dépendances de vos applications si vous tirez parti de l’authentification Azure Active Directory ou d’Azure Key Vault. Consultez les exigences de dépendances lors de l’utilisation du fournisseur Azure Key Vault ou de l’authentification Azure Active Directory

useBulkCopyForBatchInsert activé pour les serveurs non-Azure Synapse Analytics

Modifications de useBulkCopyForBatchInsert pour les serveurs non-Azure Synapse Analytics Détails
Microsoft JDBC Driver 9.2 permet maintenant l’utilisation de l’API de copie en bloc pour l’opération d’insertion par lot sur des serveurs non-Azure Synapse Analytics. Consultez Utilisation de l’API de copie en bloc pour l’opération d’insertion par lot.

8,4

Télécharger Microsoft JDBC Driver 8.4 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 8.4 pour SQL Server (tar.gz)

Numéro de version : 8.4.1
Publication : 27 août 2020

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 8.4

Modification de conformité Détails
Téléchargez les dernières mises à jour de JDBC Driver 8.4. GitHub, 8.4.1.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 8.4 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-8.4.1.jre14.jar du package 8.4 doit être utilisé avec Java 14.
Compatible avec les versions 14.0, 11.0 et 1.8 du Kit de développement Java (JDK). Microsoft JDBC Driver 8.4 pour SQL Server est maintenant compatible avec la version 14.0 du Kit de développement Java, en plus des versions 11.0 et 1.8.

Versions release 8.4

Numéro de version : 8.4.1
Publication : 27 août 2020
Problèmes résolus :

  • Correction pour un problème avec SQLServerConnectionPoolProxy non compatible avec delayLoadingLobs
  • Correction d’un problème potentiel de NullPointerException avec delayLoadingLobs
  • Correction pour un problème avec le déchiffrement de clés de chiffrement de colonnes lors de l’utilisation du magasin de certificats Windows

Numéro de version : 8.4.0
Publication : 31 juillet 2020

Support du JDK 14

Microsoft JDBC Driver 8.4 pour SQL Server est maintenant compatible avec la version 14.0 du Kit de développement Java, en plus des versions 11.0 et 1.8.

Ajout du support de l’authentification à Azure Key Vault à l’aide de Managed Identity

Ajout du type d’authentification Détails
Microsoft JDBC Driver 8.4 pour SQL Server prend désormais en charge l’authentification sur Azure Key Vault à l’aide de Managed Identity. Consultez Utilisation d'Always Encrypted avec le pilote JDBC.

Support étendu pour la copie en bloc pour Azure Data Warehouse

Modifications de la copie en bloc pour Data Warehouse Détails
Microsoft JDBC Driver 8.4 ajoute une nouvelle propriété de connexion, sendTemporalDataTypesAsStringForBulkCopy. Par défaut, cette propriété booléenne est TRUE. Consultez Utilisation de la copie en bloc avec le pilote JDBC.

Support ajouté pour la mise en cache DNS d'Azure SQL

Mise en cache DNS Détails
Microsoft JDBC Driver 8.4 pour SQL Server prend désormais en charge la mise en cache DNS dans SQL Server sur les machines virtuelles Azure.  

Ajout de la compatibilité descendante pour les objets LOB diffusés en continu

Diffusion en continu LOB Détails
Microsoft JDBC Driver 8.4 pour SQL Server ajouté à une nouvelle propriété de connexion delayLoadingLobs. Si delayLoadingLobs est défini sur FALSE, tous les objets LOB récupérés de ResultSet ne sont pas diffusés en continu. Ce paramètre signifie que le pilote charge l’intégralité de l’objet LOB en mémoire en une seule fois, de la même façon que le pilote fonctionnait avant la version 6.4.

Support de l’authentification par certificat client pour les scénarios de bouclage ajouté

Authentification du certificat du client Détails
Microsoft JDBC Driver 8.4 pour SQL Server a ajouté une nouvelle méthode d’authentification appelée authentification par certificat client pour les scénarios de bouclage. Consultez Authentification par certificat client pour les scénarios de bouclage.

8,2

Télécharger Microsoft JDBC Driver 8.2 pour SQL Server (zip)
Télécharger Microsoft JDBC Driver 8.2 pour SQL Server (tar.gz)

Numéro de version : Publication de la version 8.2.2 : 24 mars 2020

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier zip : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 8.2

Modification de conformité Détails
Téléchargez les dernières mises à jour du pilote JDBC 8.2. GitHub, 8.2.2.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 8.2 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-8.2.2.jre11.jar du package 8.2 doit être utilisé avec Java 11.
Compatible avec le kit JDK versions 13.0, 11.0 et 1.8. Microsoft JDBC Driver 8.2 pour SQL Server est désormais compatible avec le JDK version 13.0 en plus des versions 11.0 et 1.8.

Versions release 8.2

Numéro de version : 8.2.2
Publication : 24 mars 2020
Problèmes résolus :

  • Ajout d’une option pour configurer la liste des points de terminaison de Azure Key Vault approuvés

Numéro de version : 8.2.1
Publication : 26 février 2020
Problèmes résolus :

  • Correction d’un problème potentiel de NullPointerException lors de la récupération de données en tant que type java.time.LocalTime ou java.time.LocalDate avec SQLServerResultSet.getObject()

Numéro de version : 8.2.0
Publication : 31 janvier 2020

Prise en charge du JDK 13

Microsoft JDBC Driver 8.2 pour SQL Server est désormais compatible avec le JDK version 13.0 en plus des versions 11.0 et 1.8.

Always Encrypted avec enclaves sécurisées

Changement concernant Always Encrypted Détails
Le pilote Microsoft JDBC 8.2 pour SQL Server prend désormais en charge Always Encrypted avec enclaves sécurisées. Vous trouverez les détails ici : Always Encrypted avec enclaves sécurisées.
Détails et exemples de code supplémentaires. Consultez Always Encrypted avec enclaves sécurisées.

Amélioration des performances lors de la récupération de types de données temporels à partir de SQL Server 1

Changement concernant les types de données temporels Détails
Le pilote Microsoft JDBC 8.2 pour SQL Server améliore les performances lors de la récupération de types de données temporels auprès de SQL Server. Ce changement évite les conversions de types de données temporels inutiles en supprimant l’utilisation de java.util.Calendar dans la mesure du possible.
Cette amélioration des performances concerne la liste suivante de types de données temporelles ; dans le format « Type de données SQL Server » (mappage Java). date (java.sql.Date), datetime (java.sql.Timestamp), datetime2 (java.sql.Timestamp), smalldatetime (java.sql.Timestamp) et time (java.sql.Time).

1 En raison du mode de traitement différent des fuseaux horaires par java.util.Calendar ou l’API java.time.LocalDateTime, cette amélioration ne concerne pas les types de données temporels qui sont associés à un objet java.util.Calendar fourni par l’utilisateur, ni les types de données microsoft.sql.DateTimeOffset.

Déploiement de mssql-jdbc_auth-<version>-<arch>.dll (précédemment sqljdbc_auth.dll) sur le dépôt Maven

Changement concernant sqljdbc_auth.dll Détails
À compter de Microsoft JDBC Driver 8.2 pour SQL Server, le pilote s’appuie sur mssql-jdbc_auth-<version>-<arch>.dll au lieu de sqljdbc_auth.dll pour utiliser la fonctionnalité d’authentification Azure Active Directory.  
La DLL est chargée dans le référentiel Maven pour faciliter son accès. Consultez cette page.

Problèmes connus avec 8.2

Problèmes connus Détails
Quand Always Encrypted avec enclaves sécurisées est utilisé avec Java 8. Les utilisateurs doivent inclure le fournisseur BouncyCastle en tant que dépendance OU mapper/charger un fournisseur de sécurité qui prend en charge l’algorithme de signature RSASSA-PSS.

7.4.1

Télécharger Microsoft JDBC Driver 7.4.1 pour SQL Server (exécutable à extraction automatique)
Télécharger Microsoft JDBC Driver 7.4.1 pour SQL Server (tar.gz)

Numéro de version : 7.4.1
Publication : 2 août 2019

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier exécutable à extraction automatique : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 7.4

Modification de conformité Détails
Téléchargez les dernières mises à jour du pilote JDBC 7.4. GitHub, 7.4.1.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 7.4 sont nommés en fonction de la compatibilité avec les versions de Java.

Par exemple, le fichier mssql-jdbc-7.4.1.jre11.jar du package 7.4 doit être utilisé avec Java 11.
Compatible avec le kit de développement Java (JDK) versions 12.0, 11.0 et 1.8. Le pilote JDBC Microsoft 7.4 pour SQL Server est désormais compatible avec JDK (Java Development Kit) version 12.0 en plus de 11.0 et 1.8.

Versions release 7.4

Numéro de version : 7.4.1
Publication : 2 août 2019
Problèmes résolus :

  • Restauration des nouvelles implémentations d’API hashCode() et equals() à partir de SQLServerDataTable et SQLServerDataColumn, car la modification de l’API a rompu la compatibilité descendante

Numéro de version : 7.4.0
Publication : 31 juillet 2019

Prise en charge de JDK 12

Le pilote JDBC Microsoft 7.4 pour SQL Server est désormais compatible avec JDK (Java Development Kit) version 12.0 en plus de 11.0 et 1.8.

Présente l'authentification NTLM.

Modification de NTLM Détails
Prend en charge le mode d’authentification NTLM. Ce mode d’authentification permet aux clients Windows et non Windows de s’authentifier auprès de SQL Server à l’aide d’utilisateurs de domaine Windows.
Plus de détails et un exemple d’application pour utiliser ce mode d’authentification. Consultez Se connecter avec l’authentification NTLM.

Présente l’interrogation de ParameterMetaData via useFmtOnly

modification de useFmtOnly Détails
propriété de connexion useFmtOnly. Cette fonctionnalité permet aux utilisateurs d’interroger éventuellement ParameterMetaData via l’API héritée SET FMTONLY ON. Ce paramètre est utile pour les scénarios où sp_describe_undeclared_parameters ne s’exécute pas comme prévu.
Plus de détails et de restrictions. Voir Utilisation d’useFmtOnly

Mise à jour du kit de développement logiciel (SDK) Microsoft Azure Key Vault pour Java, version 1.2.1

Modification du SDK Key Vault Détails
Mise à jour de la dépendance Maven sur le kit de développement logiciel (SDK) Microsoft Azure Key Vault pour Java vers la version 1.2.1.  
Supprime Microsoft Azure SDK pour Key Vault WebKey en tant que dépendance Maven.  
Détails supplémentaires. Consultez Dépendances de fonctionnalité de Microsoft JDBC Driver pour SQL Server.

Problèmes connus avec 7.4

Problèmes connus Détails
Pendant l’utilisation de l’authentification NTLM. L’activation simultanée de la protection étendue et des connexions chiffrées n’est pas prise en charge actuellement.
Pendant l’utilisation d’useFmtOnly. Des déficiences dans la logique d'analyse SQL peuvent entraîner des problèmes avec cette fonctionnalité. Pour plus d’informations et de suggestions de solutions alternatives, consultez Utilisation de useFmtOnly.

7.2.2

Télécharger Microsoft JDBC Driver 7.2.2 pour SQL Server (exécutable à extraction automatique)
Télécharger Microsoft JDBC Driver 7.2.2 pour SQL Server (tar.gz)

Numéro de version : 7.2.2
Publication : Avril 16, 2019

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier exécutable à extraction automatique : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Conformité de la version 7.2

Modification de conformité Détails
Téléchargez les dernières mises à jour du pilote JDBC 7.2. GitHub, 7.2.2.
Maven Central.
Entièrement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 7.2 sont nommés en fonction de la compatibilité des versions de Java.

Par exemple, le fichier mssql-jdbc-7.2.2.jre11.jar du package 7.2 doit être utilisé avec Java 11.
Compatible avec JDK (Java Development Kit) version 11.0 en plus de JDK 1.8. Le pilote JDBC Microsoft 7.2 pour SQL Server est désormais compatible avec JDK (Java Development Kit) version 11.0 en plus de JDK 1.8.

Versions release 7.2

Numéro de version : 7.2.2
Publication : Avril 16, 2019
Problèmes résolus :

  • Correction des problèmes de nettoyage des ID d’activité

Numéro de version : 7.2.1
Publication : 11 février 2019
Problèmes résolus :

  • Correction des problèmes d’analyse de certaines requêtes paramétrables

Numéro de version : 7.2.0
Publication : 31 janvier 2019

Authentification Managed Identity Azure Active Directory

Changement MSI Détails
Prend en charge le mode d’authentification Managed Identity Active Directory. Ce mode d’authentification est applicable aux ressources Azure avec support de la fonctionnalité « Identité » activée.

Les deux types d’identités managées sont pris en charge par le pilote pour acquérir accessToken afin d’établir une connexion sécurisée.
Plus de détails et un exemple d’application pour utiliser ce mode d’authentification. Consultez Connexion avec l’authentification Azure Active Directory.

Introduit la prise en charge d’Open Service Gateway Initiative (OSGi)

Modification de l’OSGi Détails
Implémentation DataSourceFactory ajoutée. org.osgi.service.jdbc.DataSourceFactory
com.microsoft.sqlserver.jdbc.osgi.SQLServerDataSourceFactory
Implémentation Activateur ajoutée. org.osgi.framework.BundleActivator
com.microsoft.sqlserver.jdbc.osgi.Activator

Introduit les API SQLServerError

Modification de l’API d’erreur Détails
Introduction de l’API SQLServerError. API getter pour récupérer des détails supplémentaires sur l’erreur générée à partir du serveur.

SQLServerException.getSQLServerError()
SQLServerError
Détails supplémentaires. Consultez Gestion des erreurs.

Mise à jour de la bibliothèque d’authentification Microsoft Azure Active Directory (ADAL4J) pour Java, version 1.6.3

Modification d’ADAL4J Détails
Mise à jour de la dépendance Maven sur ADAL4J vers la version 1.6.3.  
Introduit exécution du Client Java pour AutoRest comme une dépendance Maven, version 1.6.5).  
Détails supplémentaires. Consultez Dépendances de fonctionnalité de Microsoft JDBC Driver pour SQL Server.

Mise à jour du kit de développement logiciel (SDK) Microsoft Azure Key Vault pour Java, version 1.2.0

Modification du SDK Key Vault Détails
Mise à jour de la dépendance Maven sur le kit de développement logiciel (SDK) Microsoft Azure Key Vault pour Java vers la version 1.2.0.  
Présente Microsoft Azure SDK pour Key Vault WebKey en tant que dépendance Maven, version 1.2.0.  
Détails supplémentaires. Consultez Dépendances de fonctionnalité de Microsoft JDBC Driver pour SQL Server.

Problèmes connus avec 7.2

Problèmes connus Détails
Requêtes paramétrables, dans certains cas. v7.2.1, une mise à jour de la version 7.2.0, a été publiée en février 2019 pour résoudre ce problème.
Nettoyage d’ActivityId. v7.2.2, une mise à jour de la version 7.2.1, a été publiée en avril 2019 pour résoudre ce problème.

7.0

Télécharger Microsoft JDBC Driver 7.0 pour SQL Server (exécutable à extraction automatique)
Télécharger Microsoft JDBC Driver 7.0 pour SQL Server (tar.gz)

Numéro de version : 7.0.0
Publication : 31 juillet 2018

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier exécutable à extraction automatique : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Le pilote JDBC 7.0 Microsoft pour SQL Server est parfaitement conforme à la spécification de l’API JDBC 4.2. Les fichiers JAR dans le package 7.0 sont nommés en fonction de la compatibilité avec les versions de Java. Par exemple, le fichier mssql-jdbc-7.0.0.jre10.jar du package 7.0 doit être utilisé avec Java 10.

Prise en charge de JDK 10

Le pilote JDBC Microsoft 7.0 pour SQL Server est désormais compatible avec JDK (Java Development Kit) version 10.0 en plus de JDK 1.8. Cette mise à jour expose également le Automatic-Module-Name du pilote en tant que com.microsoft.sqlserver.jdbc via son fichier MANIFESTE.

Prise en charge des types de données spatiaux

Le pilote JDBC 7.0 Microsoft pour SQL Server prend désormais en charge les types de données spatiales Géographie et Géométrie de SQL Server. Pour plus d’informations sur les API des types de données spatiales et la façon de les utiliser, consultez Utilisation des types de données spatiales.

Implémentation des API java.sql.Connection beginRequest() et endRequest() introduites dans JDBC 4.3

Le pilote JDBC 7.0 Microsoft pour SQL Server implémente maintenant les API beginRequest() et endRequest() à partir de la classe java.sql.Connection. Ces API ont été introduites avec les spécifications JDBC 4.3 et JDK 9. Pour plus d’informations sur l’implémentation du pilote de ces API, consultez Conformité de JDBC 4.3 pour le pilote JDBC.

Prise en charge de la détection et de la classification des données SQL

Le pilote JDBC 7.0 Microsoft pour SQL Server fournit un support pour la détection et la classification des données SQL avec une base de données cible prenant en charge cette fonctionnalité. Le pilote expose désormais des API SQLServerResultSet.getSensitivityClassification() pour extraire ces informations à partir de ResultSet récupéré.

Pour plus d'informations sur l'utilisation de cette fonctionnalité avec le pilote JDBC, consultez l'exemple fourni dans Détection et classification de données SQL.

Ajout d’une propriété de connexion : useBulkCopyForBatchInsert

Le pilote JDBC 7.0 Microsoft pour SQL Server introduit une nouvelle propriété de connexion, useBulkCopyForBatchInsert. Cette propriété est prise en charge uniquement pour Azure Synapse Analytics.

Elle est désactivée par défaut. Vous pouvez l’activer pour augmenter les performances des applications de l’utilisateur lorsque vous transmettez de grandes quantités de données à Azure Synapse Analytics. L’activation de cette propriété modifie le comportement des opérations d’insertion de lots pour passer à des opérations de copie en bloc avec des données fournies par l’utilisateur. Pour plus d’informations sur cette propriété et ses limitations, consultez Utilisation de l’API de copie en bloc pour les opérations d’insertion de lots.

Ajout d’une propriété de connexion : cancelQueryTimeout

Le pilote JDBC 7.0 Microsoft pour SQL Server introduit une nouvelle propriété de connexion, cancelQueryTimeout, pour annuler queryTimeout sur les objets java.sql.Connection et java.sql.Statement.

Ajout de constructeurs Azure Key Vault Provider

Le pilote JDBC 7.0 Microsoft pour SQL Server réintroduit un constructeur précédemment supprimé pour SQLServerColumnEncryptionAzureKeyVaultProvider. Il permettait l’authentification avec une méthode personnalisée implémentée via SQLServerKeyVaultAuthenticationCallback pour récupérer un jeton d’accès.

Les nouveaux constructeurs ont la définition suivante :

/* 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;

Version mise à jour de la « bibliothèque d’authentification Microsoft Azure Active Directory (ADAL4J) pour Java » : 1.6.0

Le pilote JDBC 7.0 Microsoft pour SQL Server a mis à jour sa dépendance Maven sur la « bibliothèque d'authentification Active Directory Microsoft Azure (ADAL4J) pour Java » vers la version 1.6.0. Pour plus d’informations sur les dépendances, consultez Dépendances de fonctionnalité de Microsoft JDBC Driver pour SQL Server.

6.4

Télécharger Microsoft JDBC Driver 6.4 pour SQL Server (exécutable à extraction automatique)
Télécharger Microsoft JDBC Driver 6.4 pour SQL Server (tar.gz)

Numéro de version : 6.4.0
Publication : 27 février 2018

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier exécutable à extraction automatique : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Le pilote JDBC 6.4 Microsoft pour SQL Server est parfaitement conforme aux spécifications JDBC 4.1. et 4.2. Les fichiers JAR dans le package 6.4 sont nommés en fonction de la compatibilité avec les versions de Java. Par exemple, le fichier mssql-jdbc-6.4.0.jre8.jar du package 6.4 doit être utilisé avec Java 8.

Prise en charge de JDK 9

Le pilote prend en charge JDK 9.0 en plus de JDK 8.0 et 7.0.

Conformité avec JDBC 4.3

Le pilote prend en charge la spécification de l’API Java Database Connectivity 4.3, en plus des versions 4.1 et 4.2. Les méthodes de l’API JDBC 4.3 sont ajoutés, mais pas encore implémentés. Pour plus d’informations, consultez Conformité à JDBC 4.3 pour le pilote JDBC.

Ajout d’une propriété de connexion : sslProtocol

Une nouvelle propriété de connexion permet aux utilisateurs de spécifier le mot clé du protocole TLS. Les valeurs possibles sont les suivantes : « TLS », « TLSv1 », « TLSv1.1 » et « TLSv1.2 ». Pour plus de détails, voir SSLProtocol.

Propriété de connexion dépréciée : fipsProvider

La propriété de connexion fipsProvider est supprimée de la liste des propriétés de connexion acceptées. Pour plus d’informations, consultez la demande de tirage (pull request) GitHub.

Ajout de propriétés de connexion pour spécifier un TrustManager personnalisé

Le pilote prend désormais en charge la spécification d’un TrustManager personnalisé grâce à l’ajout des propriétés de connexion trustManagerClass et trustManagerConstructorArg. Vous pouvez spécifier dynamiquement un ensemble de certificats approuvés sur une base par connexion sans modifier les paramètres globaux de l’environnement de machine virtuelle (JVM) Java.

Ajout d’une prise en charge pour datetime/smallDatetime dans les paramètres table

Le pilote prend désormais en charge les types de données datetime et smallDatetime lorsque vous utilisez des paramètres table (TVP).

Ajout d’une prise en charge pour le type de données sql_variant

Le pilote JDBC prend désormais en charge les types de données sql_variant à utiliser avec SQL Server. Le type de données sql_variant est également pris en charge avec des fonctionnalités telles que les paramètres table et de copie en bloc, avec les limitations suivantes :

  • Pour les valeurs de date :

    Lorsque vous utilisez un paramètre de table (TVP) pour remplir une table qui contient des valeurs datetime, smalldatetime ou date stockées dans une colonne sql_variant, l’appel de la méthode getDateTime(), getSmallDateTime() ou getDate() ne fonctionne pas sur le jeu de résultats et lève l’exception suivante :

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

    Pour contourner ce problème, utilisez la méthode getString() ou getObject() à la place.

  • Utilisation d’un paramètre table (TVP) avec sql_variant pour les valeurs null :

    Si vous utilisez un TVP pour remplir une table et envoyez une valeur NULL au type de colonne sql_variant, vous rencontrez une exception L’insertion d’une valeur NULL avec le type de colonne sql_variant dans un TVP n’est actuellement pas prise en charge.

Implémentation de la mise en cache des métadonnées de l’instruction préparée

Le pilote JDBC a implémenté la mise en cache des métadonnées de l’instruction préparée pour améliorer les performances. Le pilote prend désormais en charge la mise en cache des métadonnées de l’instruction préparée dans le pilote avec les propriétés de connexion disableStatementPooling et statementPoolingCacheSize. Cette fonctionnalité est désactivée par défaut. Pour plus d’informations, consultez Mise en cache des métadonnées de l’instruction préparée pour le pilote JDBC.

Ajout de la prise en charge de l’authentification intégrée Azure AD sur Linux/macOS

Le pilote JDBC prend maintenant en charge l’authentification intégrée Azure Active Directory (Azure AD) sur tous les systèmes d’exploitation pris en charge (Windows, Linux et macOS) avec Kerberos. Sur les systèmes d’exploitation Windows, les utilisateurs peuvent également s’authentifier avec mssql-jdbc_auth-<version>-<arch>.dll.

Version mise à jour de la « bibliothèque d’authentification Microsoft Azure Active Directory (ADAL4J) pour Java » : 1.4.0

Le pilote JDBC a mis à jour sa dépendance Maven sur la « bibliothèque d'authentification Active Directory Microsoft Azure (ADAL4J) pour Java » vers la version 1.4.0. Pour plus d’informations sur les dépendances, consultez Dépendances de fonctionnalité de Microsoft JDBC Driver pour SQL Server.

6.2

Télécharger Microsoft JDBC Driver 6.2 pour SQL Server (exécutable à extraction automatique)
Télécharger Microsoft JDBC Driver 6.2 pour SQL Server (tar.gz)

Numéro de version : 6.2.2
Publication : 29 septembre 2017

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier exécutable à extraction automatique : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Le pilote JDBC 6.2 Microsoft pour SQL Server est parfaitement conforme aux spécifications JDBC 4.1. et 4.2. Les fichiers JAR dans le package 6.2 sont nommés en fonction de la compatibilité avec les versions de Java. Par exemple, l’utilisation du fichier mssql-jdbc-6.2.2.jre8.jar du package 6.2 est recommandée avec Java 8.

Versions release 6.2

Numéro de version : 6.2.2
Publication : 3 octobre 2017
Problèmes résolus :

  • Mise à jour de la dépendance ADAL4J avec la version 1.2.0 et la dépendance d’Azure Key Vault à la version 1.0.0

Numéro de version : 6.2.1
Publication : 14 juillet 2017
Problèmes résolus :

  • Correction pour un problème lors de l’exécution de requêtes sans paramètres à l’aide de preparedStatement

Numéro de version : 6.2.0
Publication : 30 juin 2017

Notes

Un problème lié à l’amélioration de la mise en cache de métadonnées a été trouvé dans JDBC 6.2 RTW, publié le 29 juin 2017. L’amélioration a été annulée et de nouveaux fichiers JAR (version 6.2.1) ont été publiés le 17 juillet 2017.

Une autre amélioration mis à niveau la version de bibliothèque dépendante d’Azure Key Vault à 1.0.0 et de nouveaux fichiers JAR (version 6.2.2) ont été publiés sur le 19 octobre 2017.

Téléchargez les dernières mises à jour pour le pilote JDBC 6.2 via les liens ci-dessus (GitHubou Maven Central). Mettez à jour vos projets pour utiliser la version 6.2.2 des fichiers JAR. Pour plus d’informations, consultez les notes de publication pour 6.2.1 et 6.2.2.

Prise en charge d’Azure AD pour Linux

Connectez vos applications Linux à Azure SQL Database à l’aide de l’authentification Azure AD via les méthodes avec nom d’utilisateur/mot de passe et jeton d’accès.

JVM compatible FIPS

Le pilote JDBC peut désormais être utilisé sur des machines virtuelles Java exécutées en mode de conformité avec les normes FIPS (Federal Information Processing Standard) 140 afin de respecter les normes fédérales sur la conformité.

Améliorations apportées à l’authentification Kerberos

Le pilote JDBC prend désormais en charge ce qui suit :

  • Méthode par principal/mot de passe pour les applications où la configuration de Kerberos ne peut pas être modifiée ou ne peut pas récupérer un jeton ou un fichier Keytab nouveau. Cette méthode peut être utilisée pour l’authentification auprès d’une instance SQL Server autorisant uniquement l’authentification Kerberos.
  • Authentification interdomaine qui utilise l’authentification intégrée Kerberos sans définir explicitement le SPN du serveur. Le pilote calcule maintenant automatiquement le domaine, même s’il n’y en a pas.
  • Délégation contrainte Kerberos par acceptation d’informations d'identification d’utilisateurs impersonnés en tant qu’objet d’informations d’identification GSS via la source de données. Ces informations d’identification avec emprunt d’identité sont ensuite utilisées pour établir une connexion Kerberos.

Ajout de délais d’expiration

Le pilote JDBC prend désormais en charge les délais d’expiration configurables suivants. Vous pouvez les modifier selon les besoins de votre application.

  • Query timeout pour contrôler le nombre de secondes à attendre avant un délai d’expiration lorsque vous exécutez une requête.
  • Socket timeout pour spécifier le nombre de millisecondes à attendre avant un délai d’expiration d’un socket lu ou accepté.

6.1

Numéro de version : 6.1.0
Publication : 17 novembre 2016

Le pilote JDBC 6.1 Microsoft pour SQL Server est parfaitement conforme aux spécifications JDBC 4.1. et 4.2. Cette version est la version open source initiale du pilote JDBC. Le code source se trouve dans l’étiquette GitHub v6.1.0. Il génère les fichiers mssql-jdbc-6.1.0.jre8.jar et mssql-jdbc-6.1.0.jre7.jar, qui indiquent la compatibilité avec une version de Java.

6.0

Télécharger Microsoft JDBC Driver 6.0 pour SQL Server (exécutable à extraction automatique)
Télécharger Microsoft JDBC Driver 6.0 pour SQL Server (tar.gz)

Numéro de version : 6.0.8112
Publication : 17 janvier 2017

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier exécutable à extraction automatique : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Le pilote JDBC 6.0 Microsoft pour SQL Server est parfaitement conforme aux spécifications JDBC 4.1. et 4.2. Les fichiers JAR dans le package 6.0 sont nommés en fonction de leur conformité avec la version de l’API JDBC. Par exemple, le fichier sqljdbc42.jar du package 6.0 est compatible avec l’API JDBC 4.2. De même, le fichier sqljdbc41.jar est conforme à l’API JDBC 4.1.

Pour vous assurer d’avoir le bon fichier sqljdbc42.jar ou sqljdbc41.jar, exécutez les lignes de code suivantes. Si la sortie est « version du pilote : 6.0.7507.100 », vous avez le package de pilote JDBC 6.0.

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

Always Encrypted

Le pilote prend en charge la fonctionnalité Always Encrypted dans SQL Server 2016. Cette fonctionnalité garantit que les données sensibles ne soient jamais affichées comme texte en clair dans une instance de SQL Server. Always Encrypted chiffre les données de l’application de manière transparente, de sorte que SQL Server manipule uniquement les données chiffrées, et non des valeurs en texte clair. Même si l’instance SQL Server ou l’ordinateur hôte est compromis, la personne malveillante ne pourra récupérer qu’un texte chiffré des données sensibles. Pour plus d’informations, voir Utiliser Always Encrypted avec le pilote JDBC.

Noms de domaine internationaux

Le pilote prend en charge les noms de domaine internationaux (IDN) pour les noms des serveurs. Pour plus d’informations, consultez « Utilisation des noms de domaines internationaux » dans l’article Fonctionnalités internationales du pilote JDBC.

Requêtes paramétrables

Le pilote prend maintenant en charge la récupération des métadonnées de paramètres avec des instructions préparées pour les requêtes complexes, comme les sous-requêtes et/ou les jointures. Cette amélioration est disponible uniquement quand vous utilisez SQL Server 2012 et des versions plus récentes.

Azure Active Directory

L’authentification Azure AD est un mécanisme de connexion à Azure SQL Database à l’aide d’identités dans Azure AD. Utilisez l’authentification Azure AD pour gérer de manière centralisée les identités des utilisateurs de base de données et comme alternative à l’authentification SQL Server.

Vous pouvez utiliser le pilote JDBC 6.0 pour spécifier vos informations d’identification Azure AD dans la chaîne de connexion JDBC afin de vous connecter à Azure SQL Database. Pour plus d’informations, consultez la propriété d’authentification dans l’article Définition des propriétés de connexion.

Paramètres table

Les paramètres table (TVP) fournissent un moyen simple de marshaler plusieurs lignes de données d’une application cliente vers SQL Server sans avoir recours à plusieurs allers-retours ou à une logique spéciale côté serveur pour traiter les données. Vous pouvez utiliser des TVP pour encapsuler des lignes de données dans une application cliente et envoyer les données au serveur dans une commande paramétrable unique. Les lignes de données entrantes sont stockées dans une variable de table que vous pouvez ensuite utiliser à l’aide de Transact-SQL. Pour plus d’informations, consultez Utilisation de paramètres table.

Groupes de disponibilité Always On

Le pilote prend désormais en charge les connexions transparentes aux groupes de disponibilité Always On. Le pilote détecte rapidement la topologie Always On actuelle de votre infrastructure serveur et se connecte au serveur actif de manière transparente.

4,2

Télécharger Microsoft JDBC Driver 4.2 pour SQL Server (exécutable à extraction automatique)
Télécharger Microsoft JDBC Driver 4.2 pour SQL Server (tar.gz)

Numéro de version : 4.2.8112
Publication : 24 août 2015

Si vous avez besoin de télécharger le pilote dans une langue autre que celle détectée, vous pouvez utiliser ces liens directs.
Pour télécharger le pilote sous forme de fichier exécutable à extraction automatique : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol
Pour télécharger le pilote sous forme de fichier tar.gz : Chinois (simplifié) | Chinois (traditionnel) | Anglais (États-Unis) | Français | Allemand | Italien | Japonais | Coréen | Portugais (Brésil) | Russe | Espagnol

Le pilote JDBC 4.2 Microsoft pour SQL Server est parfaitement conforme aux spécifications JDBC 4.1. et 4.2. Les fichiers JAR dans le package 4.2 sont nommés en fonction de leur conformité avec la version de l’API JDBC. Par exemple, le fichier sqljdbc42.jar du package 4.2 est compatible avec l’API JDBC 4.2. De même, le fichier sqljdbc41.jar est conforme à l’API JDBC 4.1.

Pour être certain d’avoir le bon fichier sqljdbc42.jar ou sqljdbc41.jar, exécutez les lignes de code suivantes. Si la sortie est « version du pilote : 4.2.6420.100 », vous avez le package de pilote JDBC 4.2.

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

Prise en charge de JDK 8

Le pilote prend en charge JDK 8.0 en plus de JDK 7.0, 6.0 et 5.0.

Compatible avec JDBC 4.1 et 4.2

Le pilote prend en charge les spécifications de l’API Java Database Connectivity 4.1 et 4.2, en plus de la version 4.0. Pour plus d’informations, consultez compatibilité avec JDBC 4.1 pour le pilote JDBC et Compatibilité avec JDBC 4.2 pour le pilote JDBC.

Copie en bloc

Vous utilisez la fonctionnalité de copie en bloc pour copier rapidement de grandes quantités de données dans des tables ou des vues de bases de données SQL Server. Pour plus d’informations, consultez Utilisation de la copie en bloc avec le pilote JDBC.

Option de restauration des transactions XA

Le pilote dispose de nouvelles options de délai d’attente pour la restauration automatique existante de transactions non préparées. Pour plus d’informations, consultez Présentation des transactions XA.

Nouvelle propriété de connexion principale Kerberos

Le pilote utilise une nouvelle propriété de connexion pour faciliter la flexibilité avec les connexions Kerberos. Pour plus d’informations, consultez Utilisation de l’authentification intégrée Kerberos pour se connecter à SQL Server.

4,1

Numéro de version : 4.1.8112
Publication : 12 décembre 2014

Prise en charge de JDK 7

Le pilote prend en charge JDK 7.0 en plus de JDK 6.0 et 5.0.

Itanium non pris en charge par les applications JDBC Driver

Microsoft JDBC Driver pour SQL Server n’est pas prise en charge sur les ordinateurs Itanium.

Voir aussi

Vue d’ensemble du pilote JDBC