Notes de version de .NET Driver pour 2023

Cet article contient les notes de version .NET Driver, y compris les éléments suivants, le cas échéant :

  • Changements de comportement

  • Nouvelles fonctionnalités

  • Corrections de bogues pour les clients

Snowflake utilise la version sémantique pour les mises à jour .NET Driver.

Version 2.1.5 (18 décembre 2023)

Nouvelles fonctions et mises à jour

  • Aucun

Corrections de bogues

  • Correction d’un problème lié à l’activation des contrôles de révocation de certificat.

Version 2.1.4 (05 décembre 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la documentation sur l’activation du format Arrow.

Corrections de bogues

  • Mise en œuvre de la validation du format de nom de compte dans les paramètres de connexion.

  • Ajout de la synchronisation de l’accès au cache de contexte de requête.

Version 2.1.3 (15 novembre 2023)

Nouvelles fonctions et mises à jour

  • Ajout d’un support pour la gestion de la fréquence des tentatives pour les requêtes de connexion ayant échoué :

    • Ajout du paramètre RETRY_TIMEOUT avec une valeur par défaut de 300 secondes.

    • Mise à jour de la façon dont le pilote utilise les paramètres de connexion CONNECTION_TIMEOUT et maxHttpRetries et modification de la valeur par défaut de CONNECTION_TIMEOUT à 300 secondes.

  • Le format Arrow est désormais disponible sous forme de fonction en avant-première (il sera activé par défaut à l’avenir).

Corrections de bogues

  • Correction d’un problème lié à des exceptions inattendues lors de l’optimisation des métadonnées HTAP.

  • Correction d’un problème avec HTAP qui a pu survenir lors de la modification des bases de données ou des schémas.

  • Mise en place d’un nettoyage asynchrone lors de la destruction d’un pool afin d’éviter les blocages potentiels.

  • Suppression d’informations confuses sur l’erreur pour les commandes PUT pour GCP.

  • Correction du comportement SnowflakeDbConnection.Dispose incorrect.

Version 2.1.2 (27 septembre 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge du traitement transactionnel et analytique hybride :

    • Ajout d’un contexte de répétition dans les tentatives de requêtes.

    • Ajout de la mise en cache du contexte de la requête.

  • Ajout de la méthode GetQueryId() à SnowflakeDbCommand pour récupérer l’ID de requête de la requête exécutée le plus récemment pour correspondre à la fonctionnalité existante dans SnowflakeDbDataReader.

Corrections de bogues

  • Correction d’un problème où les commandes PUT/GET pouvaient échouer avec des zones de préparation internes sur les comptes Cloud de gouvernement Azure.

  • Diminution de l’utilisation de la mémoire dans les opérations PUT/GET.

  • Correction d’un problème qui pouvait survenir lors du chargement et du téléchargement de données lorsque les fichiers sources différaient des fichiers de destination, comme cela peut se produire en raison de la compression automatique des fichiers.

Version 2.1.1 (22 août 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction d’un problème où les connexions de test n’étaient pas réutilisées lorsqu’elles étaient créées avec succès.

  • Correction d’un problème où les caractères génériques * et ? ne fonctionnaient pas correctement dans les chemins d’accès aux fichiers.

  • Correction d’un problème où le pilote demandait incorrectement un nom d’utilisateur et un mot de passe pour l’authentification du navigateur externe.

Version 2.1.0 (27 juillet 2023)

Changement BCR (version de changement de comportement)

Correction d’un problème où, dans certaines conditions, le pilote .NET pouvait réessayer indéfiniment les requêtes HTTP. Auparavant, lors d’une panne, le pilote .NET réessayait continuellement l’appel HTTP qui avait échoué, jusqu’à ce que la demande aboutisse ou que quelqu’un annule l’opération de force.

Cette modification permet de désactiver les nouvelles tentatives HTTP infinies d’accès à partir des appels execute et executeQuery. Désormais, le pilote .NET limite les nouvelles tentatives HTTP à sept, par défaut. Les clients peuvent définir le paramètre de connexion MAXHTTPRETRIES pour personnaliser le nombre maximum de tentatives. Les clients peuvent configurer MAXHTTPRETRIES=0 pour supprimer la limite de nouvelles tentatives, mais ils courent ainsi le risque que le pilote .NET réessaie à l’infini les appels HTTP qui n’ont pas abouti.

Nouvelles fonctions et mises à jour

  • Amélioration de la gestion des chemins distants contenant un sous-répertoire dans une commande GET.

Corrections de bogues

  • Correction d’un problème avec les pools de connexions qui pouvait survenir lors de la fermeture d’une connexion dont l’intégrité était compromise et que la méthode BeginTransaction était appelée explicitement.

  • Correction d’un problème avec UseProxy dans HTTPClientHander.

  • Ajout du paramètre de connexion BROWSER_RESPONSE_TIMEOUT pour résoudre un problème d’authentification dans un navigateur externe. La valeur par défaut est de 120 secondes.

  • Correction d’un problème avec les délais d’attente du pool de connexions lors du passage à l’heure d’été.

Version 2.0.25 (16 juin 2023)

Nouvelles fonctions et mises à jour

  • Aucun

Corrections de bogues

  • Correction d’un problème où le mot de passe du proxy pouvait être visible dans le fichier journal de Snowflake.

  • Correction d’un problème où SnowflakeDbDataReader.HasRows() renvoyait toujours vrai pour certains types de requêtes (par exemple SELECT), qu’il y ait ou non des lignes valides dans le résultat de la requête.

  • Correction d’un problème intermittent « Le jeton d’authentification a expiré » ou « La session n’existe plus » lorsque le pooling de connexions est activé.

  • Suppression de l’utilisation de WinHttpHandler.

  • Correction d’un problème où les tentatives de téléchargement de morceaux échouaient parfois, par exemple lorsqu’une erreur de réseau se produisait après le téléchargement partiel des données.

  • Correction d’un problème dans le processus de nouvelles tentatives de téléchargement de morceaux et amélioration du test de ces tentatives.

Version 2.0.24 (23 mai 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la journalisation d’ID de session afin d’obtenir un meilleur suivi de l’activité de chaque session dans les cas où plusieurs connexions sont utilisées en parallèle.

Corrections de bogues

  • Correction d’un problème où une application .NET lançait une erreur non autorisée lorsque le pooling de connexions était activé.

  • Correction d’un problème avec les erreurs 401 causées par des jetons de session vides.

Version 2.0.23 (19 avril 2023)

Nouvelles fonctions et mises à jour

  • Modification de la version héritée prise en charge en version 4.7.1.

Corrections de bogues

  • Correction d’un problème où une application .NET se terminait à cause d’une exception non gérée lorsque client_session_keep_alive=true.

  • Correction d’un problème où un COMMIT pouvait être interrompu par un retour en arrière inutile.

  • Correction d’un problème où une connexion ne pouvait pas mettre fin à une session lorsque le pooling de connexions est activé.

  • Correction d’un problème où l’appel de Close() avant Dispose() entraînait la duplication des connexions dans un pool.

  • Correction d’un problème qui provoquait des erreurs lorsqu’une propriété obligatoire USER n’était pas fournie.

  • Correction de WinHttpHandler PlatformNotSupportedException ; le pilote .NET utilise désormais WinHttpHandler uniquement pour les applications du cadre .NET.

  • Correction d’un problème où une erreur se produisait incorrectement lors du passage d’une propriété USER vide dans la chaîne de connexion pour les connexions SSO.

  • Correction d’un problème où les noms de bases de données contenant des espaces qui étaient placés entre guillemets doubles (par ex. « Ma DB ») n’étaient pas traités correctement.

Version 2.0.22 (22 mars 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction d’un problème qui entraînait le blocage des applications ayant défini CLIENT_SESSION_KEEP_ALIVE=true lors de la fermeture de la connexion.

  • Correction d’un problème où l’exécution de la requête échouait par intermittence après un dépassement de délai.

  • Correction d’un problème où le pilote .NET ne parvenait pas à exécuter les commandes PUT dans un déploiement activé par FIPS.

  • Correction du connecteur .NET qui générait une erreur : « System.Net.Http.WinHttpException (80072EE2, 12002) : Erreur 12002 appelant WINHTTP_CALLBACK_STATUS_REQUEST_ERROR ».

  • Début de l’ajout du préfixe https: aux points de terminaison AWS qui n’incluent pas le préfixe.

  • Mise à jour de l’exemple Specify an unencrypted private key (read from a file) dans le fichier README.md pour supprimer l’appel à la fonction Replace().

Version 2.0.21 (22 février 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de l’utilisation des jetons d’accès GCS pour les requêtes PUT et GET (#585).

Corrections de bogues

  • Amélioration de la gestion des exceptions pour préserver les traces d’appels.

Version 2.0.20 (24 janvier 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge du nouveau OIE Okta.

  • Amélioration de la journalisation des erreurs pour l’analyse JSON en incluant le queryid dans le message de journalisation.

Corrections de bogues

  • Correction d’un problème avec PUT/GET qui ne déterminait pas le type de compression correct des fichiers à télécharger.

  • Correction d’un problème avec les valeurs des résultats PUT/GET qui n’étaient pas mappées dans le champ approprié.

  • Correction d’un problème de dépassement de limites lors du découpage des requêtes SQL contenant un commentaire de fermeture.

  • Correction d’un problème où l’utilisation de l’authentification Okta échouait lors de la réception d’une erreur HTTP 429.

  • Correction d’un problème avec les délais de session en ajoutant le paramètre de session DEFAULT_TIMEOUT_IN_SECOND.