Téléchargement/intégration du pilote JDBC¶
Le pilote JDBC (snowflake-jdbc
) est fourni sous la forme d’un fichier JAR, disponible en tant qu’artefact dans Maven pour le téléchargement ou pour l’intégration directe dans vos projets Java. En outre, vous pouvez également télécharger les types de pilotes suivants à partir de Maven :
FIPS-compliant fat jar named
snowflake-jdbc-fips
.Thin jar named
snowflake-jdbc-thin
.
Le code source des types supplémentaires est le même, mais les configurations de leurs dépendances sont différentes, comme suit :
Le FIPS-compliant fat jar n’intègre pas les dépendances de FIPS Bouncy Castle, vous devez donc les fournir pendant l’environnement d’exécution.
Le thin jar n’intègre que certaines dépendances, vous devez donc fournir les autres dépendances conformément à la déclaration du fichier pom.
Tous les types JAR sont publiés ensemble avec le même numéro de version.
Avant de télécharger ou d’intégrer le pilote, vous devez 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 type de pilote souhaité¶
Pour télécharger le pilote, suivez les étapes correspondant au type de pilote souhaité.
Télécharger un pilote standard¶
Pour télécharger le pilote standard :
Accédez au Maven Central Repository pour le pilote standard.
Sélectionnez le répertoire de la version dont vous avez besoin.
La version la plus récente (3.22.0) 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.
Téléchargez le fichier
snowflake-jdbc-#.#.#.jar
approprié :Note
Vous pouvez vérifier la version du pilote JDBC en entrant la commande suivante :
java -jar snowflake-jdbc-#.#.#.jar --version
où#.#.#
correspond aux numéros de version figurant dans le nom du fichier téléchargé.Facultatif : pour vérifier la signature du paquet du pilote, téléchargez le fichier
snowflake-jdbc-#.#.#.jar.asc
correspondant.
Télécharger un pilote conforme à FIPS¶
Pour télécharger le pilote conforme à FIPS :
Accédez au Maven Central Repository pour le pilote conforme à FIPS.
Sélectionnez le répertoire de la version dont vous avez besoin.
La version la plus récente (3.22.0) 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.
Téléchargez le fichier
snowflake-jdbc-fips-#.#.#.jar
approprié :Note
Vous pouvez vérifier la version du pilote JDBC en entrant la commande suivante :
java -jar snowflake-jdbc-fips-#.#.#.jar --version
où#.#.#
correspond aux numéros de version figurant dans le nom du fichier téléchargé.En option, vous pouvez vérifier la signature du paquet du pilote, télécharger le fichier
snowflake-jdbc-fips-#.#.#.jar.asc
correspondant.
Télécharger un pilote thin-jar¶
Pour télécharger le pilote thin-jar :
Accédez au Maven Central Repository pour le pilote thin-jar.
Sélectionnez le répertoire de la version dont vous avez besoin.
La version la plus récente (3.22.0) 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.
Téléchargez le fichier
snowflake-jdbc-thin-#.#.#.jar
approprié :Note
Vous pouvez vérifier la version du pilote JDBC en entrant la commande suivante :
java -jar snowflake-jdbc-thin-#.#.#.jar --version
où#.#.#
correspond aux numéros de version figurant dans le nom du fichier téléchargé.En option, vous pouvez vérifier la signature du paquet du pilote, télécharger le fichier
snowflake-jdbc-thin-#.#.#.jar.asc
correspondant.
Facultatif : vérifiez la signature du paquet de pilotes¶
Pour vérifier la signature du pack du pilote JDBC :
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.22.0 et supérieures :
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 2A3149C82551A34A
Pour les versions 3.19.1 à 3.21.0 :
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 5A125630709DD64B
Pour les versions 3.13.23 à 3.19.0 :
$ 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
alors spécifiez que vous voulez utiliser le port 80 pour le serveur de clés :
gpg --keyserver hkp://keyserver.ubuntu.com:80 ...
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.22.0.jar.asc snowflake-jdbc-3.22.0.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.22.0 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.
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égrer le pilote dans un projet Maven¶
Pour intégrer le pilote dans un projet Maven :
Ajoutez le pilote en tant que dépendance à votre fichier
pom.xml
.
Par exemple :
Pilote standard
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
Pilote conforme à FIPS
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc-fips</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
Pilote Thin-jar
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc-thin</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
où la balise <version>
spécifie la version du pilote que vous souhaitez intégrer. Notez que la version 3.22.0 est utilisée dans cet exemple uniquement à des fins d’illustration. Une version plus récente du pilote peut être disponible.
Les notes du développeur sont hébergées avec le code source sur GitHub.
Ajouter les 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 :
Pour Mac et Linux :
Pour Windows :
Le fichier pom.xml
pour le pilote JDBC spécifie la version des classes JNA qui ont été testées avec le pilote JDBC. Snowflake recommande d’utiliser cette version (ou la même version majeure) des classes JNA.
Pour plus d’informations, consultez la page Pilote JDBC dans le Maven Central Repository.
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).