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.14.4) 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.

    Note

    Si vous le souhaitez, vous pouvez vérifier la version du pilote JDBC en entrant la commande suivante :

    java -jar snowflake-jdbc-#.#.#.jar --version#.#.# correspond aux numéros de version figurant dans le nom du fichier téléchargé.

  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 paquet de pilotes — Facultatif

Pour vérifier la signature du pack du pilote JDBC :

  1. Depuis le serveur de clés publiques, téléchargez et importez la clé publique Snowflake GPG pour la version du pilote JDBC que vous utilisez :

    • Pour les versions 3.13.23 et supérieures :

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 630D9F3CAB551AF3
    • Pour les versions 3.12.13 à 3.13.22 :

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 37C7086698CB005C
    • Pour les versions 3.6.26 à 3.12.12 :

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys EC218558EABB25A1
    • Pour les versions 3.6.25 et inférieures :

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 93DB296A69BE019A

    Note

    Si cette commande échoue avec l’erreur suivante :

    gpg: keyserver receive failed: Server indicated a failure
    
    Copy

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

    gpg --keyserver hkp://keyserver.ubuntu.com:80  ...
    
    Copy
  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.14.4.jar.asc snowflake-jdbc-3.14.4.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.14.4 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.
    
    Copy

    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"
    
    Copy

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.14.4</version>
  </dependency>
  ...
</dependencies>

Où la balise <version> indique la version du pilote que vous souhaitez intégrer. Notez que la version 3.14.4 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. (Reportez-vous à la page Pilote JDBC dans le répertoire central de Maven.) 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).