Herunterladen und Integrieren des JDBC-Treibers¶
Der JDBC-Treiber (snowflake-jdbc
) wird als JAR-Datei bereitgestellt, die als Artefakt in Maven zum Herunterladen oder zur direkten Integration in Ihre Java-basierten Projekte zur Verfügung steht. Zusätzlich können Sie auch die folgenden Treibertypen von Maven herunterladen:
FIPS-kompatibles fat jar namens
snowflake-jdbc-fips
.Thin jar namens
snowflake-jdbc-thin
.
Der Quellcode für die zusätzlichen Typen ist derselbe, aber die Konfigurationen ihrer Abhängigkeiten unterscheiden sich wie folgt:
Das FIPS-konforme Fat Jar bettet die FIPS Bouncy Castle-Abhängigkeiten nicht ein, sodass Sie diese während der Laufzeit bereitstellen müssen.
Das Thin-Jar enthält nur einige Abhängigkeiten, sodass Sie die anderen Abhängigkeiten gemäß der Deklaration in der pom-Datei bereitstellen müssen.
Alle JAR-Typen werden zusammen mit der gleichen Versionsnummer veröffentlicht.
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 der gewünschten Art von Treiber¶
Um den Treiber herunterzuladen, folgen Sie den Schritten für den gewünschten Treiber-Typ.
Standardtreiber herunterladen¶
Zum Herunterladen des Standardtreibers:
Rufen Sie das Maven Central Repository für den Standardtreiber auf.
Wählen Sie das Verzeichnis für die Version, die Sie benötigen.
Die neueste Version (3.22.0) 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.
Laden Sie die entsprechende
snowflake-jdbc-#.#.#.jar
-Datei herunter:Bemerkung
Sie können die Version des JDBC-Treibers überprüfen, indem Sie den folgenden Befehl eingeben:
java -jar snowflake-jdbc-#.#.#.jar --version
, wobei#.#.#
mit den Versionsnummern im Namen der heruntergeladenen Datei übereinstimmt.Optional: Um die Signatur des Treiberpakets zu überprüfen, laden Sie die entsprechende Datei
snowflake-jdbc-#.#.#.jar.asc
herunter.
FIPS-kompatiblen Treiber herunterladen¶
So laden Sie den FIPS-kompatiblen Treiber herunter:
Rufen Sie das Maven Central Repository für den FIPS-kompatiblen Treiber auf.
Wählen Sie das Verzeichnis für die Version, die Sie benötigen.
Die neueste Version (3.22.0) 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.
Laden Sie die entsprechende
snowflake-jdbc-fips-#.#.#.jar
-Datei herunter:Bemerkung
Sie können die Version des JDBC-Treibers überprüfen, indem Sie den folgenden Befehl eingeben:
java -jar snowflake-jdbc-fips-#.#.#.jar --version
, wobei#.#.#
mit den Versionsnummern im Namen der heruntergeladenen Datei übereinstimmt.Optional können Sie die Signatur des Treiberpakets überprüfen und die entsprechende Datei
snowflake-jdbc-fips-#.#.#.jar.asc
herunterladen.
Thin-Jar-Treiber herunterladen¶
So laden Sie den Thin-Jar-Treiber herunter:
Rufen Sie das Maven Central Repository für den thin-jar-Treiber auf.
Wählen Sie das Verzeichnis für die Version, die Sie benötigen.
Die neueste Version (3.22.0) 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.
Laden Sie die entsprechende
snowflake-jdbc-thin-#.#.#.jar
-Datei herunter:Bemerkung
Sie können die Version des JDBC-Treibers überprüfen, indem Sie den folgenden Befehl eingeben:
java -jar snowflake-jdbc-thin-#.#.#.jar --version
, wobei#.#.#
mit den Versionsnummern im Namen der heruntergeladenen Datei übereinstimmt.Optional können Sie die Signatur des Treiberpakets überprüfen und die entsprechende Datei
snowflake-jdbc-thin-#.#.#.jar.asc
herunterladen.
Optional: Überprüfen Sie die Signatur des Treiberpakets¶
So überprüfen Sie die Signatur des JDBC-Treiberpakets:
Laden Sie vom öffentlichen Keyserver den öffentlichen Snowflake-GPG-Schlüssel in der von Ihnen verwendeten JDBC-Treiberversion herunter, und importieren Sie diesen:
Für Version 3.22.0 und höher:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 2A3149C82551A34A
Für die Versionen 3.19.1 bis 3.21.0:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 5A125630709DD64B
Für die Versionen 3.13.23 bis 3.19.0:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 630D9F3CAB551AF3
Für die Versionen 3.12.13 bis 3.13.22:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 37C7086698CB005C
Für die Versionen 3.6.26 bis 3.12.12:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys EC218558EABB25A1
Für Version 3.6.25 und niedriger:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 93DB296A69BE019A
Bemerkung
Wenn dieser Befehl mit der folgenden Fehlermeldung fehlschlägt:
gpg: keyserver receive failed: Server indicated a failure
Geben Sie an, dass Sie für den Keyserver Port 80 verwenden möchten:
gpg --keyserver hkp://keyserver.ubuntu.com:80 ...
Führen Sie den Befehl
gpg --verify
aus, um die Signatur des Pakets zu überprüfen.Geben Sie für das Kommandozeilenflag
--verify
die.asc
-Datei, die sie zuvor heruntergeladen haben, als Signaturdatei an, und die JAR-Datei als Datei mit den signierten Daten.Beispiel:
$ 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>"
Stellen Sie sicher, dass Sie die korrekten Versionsnummern für das JDBC-Treiberpaket angeben, das Sie verifizieren. Version 3.22.0 wird in diesem Beispiel nur zu Illustrationszwecken verwendet. Die neueste verfügbare Version des Treibers ist möglicherweise höher.
Bemerkung
Die Überprüfung der Signatur führt zu einer Warnung ähnlich der folgenden:
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.
Um die Warnung zu vermeiden, können Sie dem öffentlichen Snowflake-GPG-Schlüssel implizites Vertrauen gewähren.
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"
Treiber in ein Maven-Projekt integrieren¶
So integrieren Sie den Treiber in ein Maven-Projekt:
Fügen Sie den Treiber als Abhängigkeit zu Ihrer
pom.xml
Datei hinzu.
Beispiel:
Standardtreiber
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
FIPS-kompatibler Treiber
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc-fips</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
Thin-Jar-Treiber
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc-thin</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
wobei das <Versions-Tag>
die Version des Treibers angibt, den Sie integrieren möchten. Beachten Sie, dass Version 3.22.0 in diesem Beispiel nur zu Illustrationszwecken verwendet wird. Möglicherweise ist eine neuere Version des Treibers verfügbar.
Die Entwicklerhinweise werden mit dem Quellcode auf GitHub gehostet.
Fügen Sie die JNA-Klassen zu Ihrem Klassenpfad hinzu¶
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:
Mac und Linux:
Windows:
Die pom.xml
-Datei für den JDBC-Treiber gibt die Version der JNA-Klassen an, die mit dem JDBC-Treiber getestet wurden. Snowflake empfiehlt, diese Version (oder dieselbe Hauptversion) der JNA-Klassen zu verwenden.
Weitere Informationen dazu finden Sie auf der JDBC-Treiberseite im Maven Central Repository.
Bemerkung
Verwenden Sie bei Systemen mit aarch64-Architektur (z. B. den Apple M1-Chip) 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.)