Téléchargement/intégration du pilote JDBC

Le pilote JDBC (snowflake-jdbc) est fourni sous forme de fichier JAR disponible sous forme d’artefact dans Maven pour le télécharger ou l’intégrer directement dans vos projets Java.

Avant de télécharger ou d’intégrer le pilote, vous pouvez d’abord vérifier la version du pilote que vous utilisez actuellement. Pour vérifier la version de votre pilote, connectez-vous à Snowflake via une application client qui utilise le pilote et vérifiez la version du pilote. Si l’application prend en charge l’exécution de requêtes SQL, vous pouvez vérifier la version en appelant la fonction CURRENT_CLIENT.

Dans ce chapitre :

Exigences

Pour obtenir la liste des systèmes d’exploitation pris en charge par les clients Snowflake, voir Prise en charge par les systèmes d’exploitation.

Téléchargement du pilote

Pour télécharger le pilote :

  1. Allez dans le Maven Central Repository :

    https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc

  2. Cliquez sur le répertoire de la version dont vous avez besoin.

    La version la plus récente (3.13.7) n’est pas toujours en fin de liste. Les versions sont répertoriées alphabétiquement, et non numériquement. Par exemple, la version 3.10.x vient après la version 3.1.x, et non après 3.9.x.

  3. Téléchargez le fichier snowflake-jdbc-#.#.#.jar.

  4. Si vous prévoyez de vérifier la signature du pack de pilotes, téléchargez le fichier snowflake-jdbc-#.#.#.jar.asc.

Vérification de la signature du pack du pilote — En option

Pour vérifier, en option, la signature du pack du pilote JDBC :

  1. Téléchargez et importez la dernière clé publique GPG de Snowflake à partir du serveur de clés publiques :

    $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys <GPG_KEY_ID>
    

    Pour <GPG_KEY_ID>, indiquez l’un des IDs de clés suivants :

    Version du pilote JDBC

    ID de clé GPG

    3.12.13 et supérieur

    37C7086698CB005C

    3.6.26 par le biais de 3.12.12

    EC218558EABB25A1

    Jusqu’à 3.6.25

    93DB296A69BE019A

    Note

    Si cette commande échoue avec l’erreur suivante :

    gpg: keyserver receive failed: Server indicated a failure
    

    alors spécifiez que vous voulez utiliser le port 80 pour le serveur de clés :

    gpg --keyserver hkp://keyserver.ubuntu.com:80  ...
    
  2. Exécutez la commande gpg --verify pour vérifier la signature du pack.

    Pour l’indicateur de ligne de commande --verify, spécifiez le fichier .asc que vous avez téléchargé précédemment comme fichier de signature et le fichier JAR comme fichier contenant les données signées.

    Par exemple :

    $ gpg --verify snowflake-jdbc-3.13.7.jar.asc snowflake-jdbc-3.13.7.jar
    gpg: Signature made Wed 22 Feb 2017 04:31:58 PM UTC using RSA key ID <gpg_key_id>
    gpg: Good signature from "Snowflake Computing <snowflake_gpg@snowflake.net>"

    Assurez-vous d’indiquer les numéros de version corrects du pack du pilote JDBC que vous vérifiez. La version 3.13.7 est utilisée dans cet exemple à des fins d’illustration uniquement. La dernière version disponible du pilote peut être supérieure.

    Note

    La vérification de la signature crée un avertissement similaire à celui qui suit :

    gpg: Signature made Mon 24 Sep 2018 03:03:45 AM UTC using RSA key ID <gpg_key_id>
    gpg: Good signature from "Snowflake Computing <snowflake_gpg@snowflake.net>" unknown
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg: There is no indication that the signature belongs to the owner.
    

    Pour éviter l’avertissement, vous pouvez accorder la confiance implicite à la clé publique GPG Snowflake.

  3. Votre environnement local peut contenir plusieurs clés GPG. Cependant, pour des raisons de sécurité, Snowflake fait tourner périodiquement la clé publique GPG. Nous recommandons de supprimer la clé publique existante après avoir confirmé que la dernière clé fonctionne avec le dernier pack signé :

    $ gpg --delete-key "Snowflake Computing"
    

Intégration du pilote dans un projet Maven

Pour intégrer le pilote dans un projet Maven, ajoutez le pilote comme dépendance à votre fichier pom.xml. Par exemple :

<dependencies>
  ...
  <dependency>
    <groupId>net.snowflake</groupId>
    <artifactId>snowflake-jdbc</artifactId>
    <version>3.13.7</version>
  </dependency>
  ...
</dependencies>

Où la balise <version> indique la version du pilote que vous souhaitez intégrer. Notez que la version 3.13.7 est utilisée dans cet exemple uniquement à des fins d’illustration. La dernière version disponible du pilote peut être supérieure.

Les notes du développeur sont hébergées avec le code source sur GitHub.

Ajout de classes JNA à votre classpath

La mise en cache de la connexion pour le SSO basé sur le navigateur et la mise en cache des jetons pour l’authentification multifactorielle (MFA) nécessitent l’utilisation des classes Java Native Access (JNA) pour enregistrer les données en toute sécurité dans le système de fichiers.

A partir de la version 3.12.18 du pilote JDBC , les classes JNA ne sont plus empaquetées dans le fichier JAR du pilote JDBC. Dans le fichier pom.xml du pilote JDBC, les dépendances de ces classes sont marquées comme facultatives.

Si vous devez utiliser la mise en cache des connexions ou des jetons, vous devez ajouter les bibliothèques suivantes à votre classpath :

Le fichier pom.xml pour le pilote JDBC spécifie la version des classes JNA qui ont été testées avec le pilote JDBC. Nous recommandons d’utiliser cette version (ou la même version majeure) des classes JNA.

Note

Pour les systèmes qui utilisent l’architecture aarch64 (par exemple, la puce Apple M1), utilisez la version 5.7.0 ou une version ultérieure des bibliothèques JNA. (Les versions JNA antérieures à la v5.7.0 ne sont pas compatibles avec les systèmes Windows et macOS qui fonctionnent sur aarch64).