Herunterladen und Integrieren des JDBC-Treibers

Der JDBC -Treiber (snowflake-jdbc) wird als JAR-Datei bereitgestellt, die in Maven zum Herunterladen oder zur direkten Integration in Ihre Java-basierten Projekte verfügbar ist.

Bevor Sie den Treiber herunterladen oder integrieren, sollten Sie zunächst die Version des Treibers überprüfen, den Sie gerade verwenden. Um Ihre Treiberversion zu überprüfen, verbinden Sie sich mit Snowflake über eine Clientanwendung, die den Treiber verwendet, und überprüfen Sie die Treiberversion. Wenn die Anwendung das Ausführen von SQL-Abfragen unterstützt, können Sie dies durch Aufruf der Funktion CURRENT_CLIENT tun.

Unter diesem Thema:

Anforderungen

Eine Liste der von Snowflake-Clients unterstützten Betriebssysteme finden Sie unter Betriebssystemunterstützung.

Herunterladen des Treibers

So laden Sie den Treiber herunter:

  1. Wechseln Sie in das Maven Central Repository:

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

  2. Klicken Sie auf die gewünschte Version.

    Die neueste Version steht nicht immer am Ende der Liste. Versionen werden alphabetisch und nicht numerisch aufgelistet. Beispielsweise steht 3.10.x nach 3.1.x und nicht nach 3.9.x.

  3. Laden Sie die snowflake-jdbc -#.#.#.jar-Datei herunter. (Sie müssen nicht das gesamte Verzeichnis herunterladen.)

Überprüfen der Signatur des Treiberpakets – Optional

So prüfen Sie optional die Signatur des JDBC-Treiberpakets:

  1. Laden Sie den neuesten öffentlichen Snowflake-GPG-Schlüssel vom öffentlichen Keyserver herunter, und importieren Sie diesen:

    $ gpg --keyserver hkp://keys.gnupg.net --recv-keys <GPG_KEY_ID>
    

    Geben Sie für <GPG_KEY_ID> eine der folgenden Schlüssel-IDs an:

    JDBC-Treiberversion

    GPG-Schlüssel-ID

    3.12.13 und höher

    37C7086698CB005C

    3.6.26 bis 3.12.12

    EC218558EABB25A1

    Bis 3.6.25

    93DB296A69BE019A

    Wenn dieser Befehl mit der folgenden Fehlermeldung fehlschlägt:

    gpg: keyserver receive failed: Server indicated a failure
    

    Geben Sie an, dass Sie Port 80 für den Keyserver verwenden möchten:

    gpg --keyserver hkp://keys.gnupg.net:80  ...
    
  2. Laden Sie die GPG-Signatur zusammen mit dem bash-Installationsprogramm herunter, und überprüfen Sie die Signatur. Beispiel:

    $ gpg --verify snowflake-jdbc-3.13.2.jar.asc snowflake-jdbc-3.13.2.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>"

    Bemerkung

    Stellen Sie sicher, dass Sie die korrekten Versionsnummern für das JDBC-Treiberpaket angeben, das Sie verifizieren. Version 3.13.2 wird in diesem Beispiel nur zu Illustrationszwecken verwendet. Die neueste verfügbare Version des Treibers ist möglicherweise höher.

  3. Ihre lokale Umgebung kann mehrere GPG-Schlüssel enthalten. Aus Sicherheitsgründen rotiert Snowflake jedoch regelmäßig den öffentlichen GPG-Schlüssel. Als Best Practice empfehlen wir, den vorhandenen öffentlichen Schlüssel zu löschen, nachdem Sie sicher sind, dass der aktuelle Schlüssel mit dem aktuellen, signierten Paket funktioniert:

    $ gpg --delete-key "Snowflake Computing"
    

Integrieren des Treibers in ein Projekt

Um den Treiber in ein Maven-Projekt zu integrieren, fügen Sie den Treiber als Abhängigkeit zu Ihrer pom.xml-Datei hinzu. Beispiel:

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

Dabei gibt das <Version>-Tag die Version des zu integrierenden Treibers an. Beachten Sie, dass Version 3.13.2 in diesem Beispiel nur zu Illustrationszwecken verwendet wird. Die neueste verfügbare Version des Treibers ist möglicherweise höher.

Die Entwicklerhinweise werden mit dem Quellcode auf GitHub gehostet.

Hinzufügen der JNA-Klassen zu Ihrem Klassenpfad

Verbindungscaching für browserbasiertes SSO und Tokencaching für mehrstufige Authentifizierung (MFA) erfordern die Verwendung der Java Native Access (JNA)-Klassen, um Daten sicher im Dateisystem zu speichern.

Ab Version 3.12.18 des JDBC-Treibers sind die JNA-Klassen nicht mehr in der JAR-Datei des JDBC-Treibers gepackt. In der JDBC-Treiberdatei pom.xml sind die Abhängigkeiten von diesen Klassen als optional gekennzeichnet.

Wenn Sie Verbindungscaching oder Tokencaching verwenden müssen, müssen Sie die folgenden Bibliotheken zu Ihrem Klassenpfad hinzufügen:

Die pom.xml-Datei für den JDBC-Treiber gibt die Version der JNA-Klassen an, die mit dem JDBC-Treiber getestet wurden. Wir empfehlen, diese Version (oder die gleiche Hauptversion) der JNA-Klassen zu verwenden.

Bemerkung

Für Systeme, die die aarch64-Architektur verwenden (z. B. den Apple M1-Chip), verwenden Sie die Version 5.7.0 oder höher der JNA-Bibliotheken. (JNA-Versionen vor v5.7.0 sind nicht kompatibel mit Windows- und macOS-Systemen, die auf der aarch64-Architektur ausgeführt werden.)