Übersicht der Verbindungsparameter für den JDBC-Treiber

Unter diesem Thema werden die Verbindungsparameter aufgeführt, die Sie zur Konfiguration des JDBC-Treibers verwenden können. Sie können diese Parameter in der JDBC-Verbindungszeichenfolge oder in einem Java-Properties-Objekt einstellen.

Unter diesem Thema:

Erforderliche Parameter

In diesem Abschnitt sind die Parameter aufgeführt, die Sie in der Verbindungszeichenfolge oder in der Map von Eigenschaften festlegen müssen.

Bemerkung

Sie müssen auch die Parameter für die Authentifizierung festlegen.

user

Beschreibung:

Gibt den Anmeldenamen des Benutzers für die Verbindung an.

Parameter für die Authentifizierung

allowUnderscoresInHost

Beschreibung:

Gibt an, ob Unterstriche in Kontonamen zulässig sind. Der JDBC-Treiber unterstützt keine Unterstriche in URLs, die auch den Kontonamen enthalten. Daher konvertiert der JDBC-Treiber Unterstriche automatisch in Bindestriche. Der Standardwert ist false.

Bemerkung

Ab Version 3.13.25 ändert der Snowflake-JDBC-Treiber den Standardwert des Parameters allowUnderscoresInHost auf false. Diese Änderung hat Auswirkungen für PrivateLink-Kunden, deren Kontonamen Unterstriche enthalten. In diesem Fall müssen Sie den Standardwert überschreiben, indem Sie allowUnderscoresInHost auf true setzen.

authenticator

Beschreibung:

Gibt den Authentifikator an, der für die Überprüfung der Anmeldeinformationen des Benutzers verwendet werden soll. Sie können dies auf einen der folgenden Werte einstellen:

  • snowflake, um den internen Snowflake-Authentifikator zu verwenden.

  • externalbrowser, um den für Ihr Konto definierten Webbrowser für die Authentifizierung mit Okta, AD FS oder einem anderen SAML 2.0-kompatiblen Identitätsanbieter (IdP) zu verwenden.

  • https://<Name_des_Okta-Kontos>.okta.com (d. h. der URL-Endpunkt für Okta) zum Authentifizieren über das systemeigene Okta (nur unterstützt, wenn Ihr IdP Okta ist).

  • oauth zum Authentifizieren mit OAuth. Wenn OAuth als Authentifikator angegeben ist, müssen Sie auch den Parameter token festlegen, um das OAuth-Token anzugeben (siehe unten).

  • snowflake_jwt, um die Schlüsselpaar-Authentifizierung zu verwenden. Weitere Informationen zur Schlüsselpaar-Authentifizierung finden Sie unter Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselrotation.

  • username_password_mfa zum Authentifizieren mit MFA-Tokencaching. Weitere Details dazu finden Sie unter Verwenden der mehrstufige Authentifizierung

Wenn die Verbindungszeichenfolge ein Schlüsselpaar angibt, wird die Schlüsselpaar-Authentifizierung auch dann verwendet, wenn der authenticator-Parameter nicht festgelegt oder auf „snowflake“ gesetzt ist.

Weitere Informationen zur Authentifizierung finden Sie unter Verwenden und Verwalten der Verbundauthentifizierung und Clients, Treiber und Konnektoren.

Standard:

snowflake

passcode

Beschreibung:

Gibt die Kennung an, die für die mehrstufige Authentifizierung verwendet werden soll.

Weitere Informationen zur mehrstufigen Authentifizierung finden Sie unter Mehrstufige Authentifizierung (MFA).

passcodeInPassword

Beschreibung:

Gibt an, ob die Kennung für die mehrstufige Authentifizierung an das Kennwort angehängt wird:

  • on (oder true) gibt an, dass die Kennung angehängt wird.

  • off (oder false) oder ein anderer Wert gibt an, dass die Kennung nicht angehängt wird.

Standard:

off

password

Beschreibung:

Gibt das Kennwort für den angegebenen Benutzer an.

Es gibt zwei Möglichkeiten, das Kennwort anzugeben:

  • Die erste Möglichkeit besteht darin, Benutzer-ID und Kennwort direkt an die getConnection-Methode zu übergeben:

    String user = "<user>";          // replace "<user>" with your user name
    String password = "<password>";  // replace "<password>" with your password
    Connection con = DriverManager.getConnection("jdbc:snowflake://<account>.snowflakecomputing.com/", user, password);
    
    Copy
  • Die zweite Möglichkeit besteht darin, ein Properties-Objekt zu erstellen, das Objekt mit dem Kennwort zu aktualisieren und das Objekt an die getConnection-Methode zu übergeben:

    String user = "<user>";          // replace "<user>" with your user name
    String password = "<password>";  // replace "<password>" with your password
    Properties props = new Properties();
    props.put("user", user);
    props.put("password", password);
    Connection con = DriverManager.getConnection("jdbc:snowflake://<account>.snowflakecomputing.com/", props);
    
    Copy

Achtung

Wir empfehlen dringend, dass Sie das Benutzerkennwort nicht direkt in die JDBC-Verbindungszeichenfolge aufnehmen, da das Kennwort versehentlich von der Clientanwendung, die die Zeichenfolge für die Verbindung zu Snowflake verwendet, angezeigt werden könnte. Verwenden Sie stattdessen die von der Anwendung bereitgestellten Schnittstellen, um das Benutzerkennwort anzugeben.

privatekey

Beschreibung:

Gibt den privaten Schlüssel für den angegebenen Benutzer an. Siehe Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselrotation.

private_key_file

Beschreibung:

Gibt den Pfad zur Datei des privaten Schlüssels für den angegebenen Benutzer an. Siehe Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselrotation.

private_key_file_pwd

Beschreibung:

Gibt die Passphrase zum Entschlüsseln der Datei des privaten Schlüssels für den angegebenen Benutzer an. Siehe Verwenden von Schlüsselpaar-Authentifizierung und Schlüsselrotation.

token

Beschreibung:

Gibt das OAuth-Token an, das für die Authentifizierung verwendet werden soll, wobei <Zeichenfolge> das Token ist. Dieser Parameter ist bis auf die unten beschrieben Ausnahme nur erforderlich, wenn Sie den Parameter authenticator auf oauth setzen.

Bemerkung

Ab Version 3.13.24 kann der Snowflake-JDBC-Treiber das OAuth-Token nicht nur in den token-Konfigurationsparameter aufnehmen, sondern auch im Verbindungskennwort senden. Wenn der token-Konfigurationsparameter nicht angegeben ist, erwartet die Methode Driver.connect(), dass das Token im Verbindungskennwort gespeichert ist.

Dieses Feature unterstützt in erster Linie die Verwendung der OAuth-Authentifizierung für Verbindungspools und ermöglicht es Ihnen, bei Bedarf aktualisierte Token zu übergeben, sodass Sie nicht eingeschränkt werden, wenn die im token-Konfigurationsparameter angegebenen Token abgelaufen sind.

Anstatt den token-Konfigurationsparameter festzulegen, können Sie beispielsweise das Token als Kennwort in den Eigenschaften der Methode getConnection() übergeben, ähnlich wie im Folgenden:

Properties props = new Properties();
props.put("user", "myusername");
props.put("authenticator", "oauth");
props.put("role", "myrole");
props.put("password", "xxxxxxxxxxxxx"); // where xxxxxxxxxxxxx is the token string
Connection myconnection = DriverManager.getConnection(url, props);
Copy
Standard:

Keine

Parameter für die Standardeinstellungen von Datenbank, Rolle, Schema und Warehouse

db

Beschreibung:

Gibt die Standarddatenbank an, die nach der Verbindung verwendet werden soll, oder eine leere Zeichenfolge. Die angegebene Datenbank sollte eine bestehende Datenbank sein, deren angegebene Standardrolle über entsprechende Berechtigungen verfügt.

Wenn Sie nach der Verbindung eine andere Datenbank verwenden müssen, führen Sie den Befehl USE DATABASE aus.

role

Beschreibung:

Gibt die Standardrolle für die Zugriffssteuerung an, die in der vom Treiber initiierten Snowflake-Sitzung verwendet werden soll. Die angegebene Rolle sollte eine bestehende Rolle sein, die dem angegebenen Benutzer des Treibers bereits zugeordnet wurde. Wenn die angegebene Rolle dem Benutzer noch nicht zugewiesen wurde, wird die Rolle beim Initiieren der Sitzung durch den Treiber nicht verwendet.

Wenn Sie nach der Verbindung eine andere Rolle verwenden müssen, führen Sie den Befehl USE ROLE aus.

Weitere Informationen zu Rollen und zur Zugriffssteuerung finden Sie unter Übersicht zur Zugriffssteuerung.

schema

Beschreibung:

Gibt das Standardschema an, das nach dem Verbinden für die angegebene Datenbank verwendet werden soll, oder eine leere Zeichenfolge. Das angegebene Schema sollte ein bestehendes Schema sein, für das die angegebene Standardrolle über entsprechende Berechtigungen verfügt.

Wenn Sie nach der Verbindung ein anderes Schema verwenden müssen, führen Sie den Befehl USE SCHEMA aus.

warehouse

Beschreibung:

Gibt das virtuelle Warehouse an, das nach dem Verbinden verwendet werden soll, oder eine leere Zeichenfolge. Das angegebene Warehouse sollte ein bestehendes Warehouse sein, für das die angegebene Standardrolle über entsprechende Berechtigungen verfügt.

Wenn Sie nach der Verbindung ein anderes Warehouse verwenden müssen, führen Sie den Befehl USE WAREHOUSE aus, um ein anderes Warehouse für die Sitzung festzulegen.

Proxyparameter

disableSocksProxy

Beschreibung:

Gibt an, ob der Treiber die in den Java-Systemoptionen angegebene SOCKS-Proxykonfiguration ignorieren soll:

  • on (oder true) gibt an, den Proxy zu ignorieren.

  • off (oder false) oder ein anderer Wert gibt an, dass der Proxy verwendet werden soll.

Bemerkung

Das Einstellen dieses Verbindungsparameters ändert das Verhalten für alle Verbindungen auf derselben JVM (Java Virtual Machine).

Standard:

off

nonProxyHosts

Beschreibung:

Gibt die Listen der Hosts an, mit denen sich der Treiber unter Umgehung des Proxyservers direkt verbinden soll. Weitere Informationen dazu finden Sie unter Angeben eines Proxyservers in der JDBC-Verbindungszeichenfolge.

proxyHost

Beschreibung:

Gibt den Hostnamen des zu verwendenden Proxyservers an. Weitere Informationen dazu finden Sie unter Angeben eines Proxyservers in der JDBC-Verbindungszeichenfolge.

proxyPassword

Beschreibung:

Gibt das Kennwort für die Authentifizierung beim Proxyserver an. Weitere Informationen dazu finden Sie unter Angeben eines Proxyservers in der JDBC-Verbindungszeichenfolge.

proxyPort

Beschreibung:

Gibt die Portnummer des zu verwendenden Proxyservers an. Weitere Informationen dazu finden Sie unter Angeben eines Proxyservers in der JDBC-Verbindungszeichenfolge.

proxyProtocol

Beschreibung:

Gibt das Protokoll an, das für die Verbindung zum Proxyserver verwendet wird. Weitere Informationen dazu finden Sie unter Angeben eines Proxyservers in der JDBC-Verbindungszeichenfolge.

Standard:

http

proxyUser

Beschreibung:

Gibt den Benutzernamen für die Authentifizierung beim Proxyserver an. Weitere Informationen dazu finden Sie unter Angeben eines Proxyservers in der JDBC-Verbindungszeichenfolge.

useProxy

Beschreibung:

Gibt an, ob der Treiber einen Proxy verwenden soll:

  • on (oder true) gibt an, dass der Treiber einen Proxy verwenden soll.

  • off (oder false) oder ein anderer Wert gibt an, dass der Treiber keinen Proxy verwenden soll.

Weitere Informationen dazu finden Sie unter Angeben eines Proxyservers in der JDBC-Verbindungszeichenfolge.

Standard:

off

Timeout-Parameter

loginTimeout

Beschreibung:

Gibt an, wie viele Sekunden beim Herstellen einer Verbindung zum Snowflake-Dienst auf eine Antwort gewartet werden soll, bevor ein Anmeldefehler zurückgegeben wird.

Standard:

60

networkTimeout

Beschreibung:

Gibt an, wie viele Millisekunden bei der Interaktion mit dem Snowflake-Dienst auf eine Antwort gewartet werden soll, bevor ein Fehler zurückgegeben wird. 0 (Null) gibt an, dass kein Netzwerk-Timeout festgelegt wird.

Standard:

0

net.snowflake.jdbc.http_client_connection_timeout_in_ms

Beschreibung:

Gibt die maximale Zeit in Millisekunden an, die auf den vollständigen Aufbau einer neuen Verbindung (einschließlich TLS-Verhandlung) mit dem entfernten Host warten soll.

Standard:

60000 (1 Minute)

net.snowflake.jdbc.http_client_socket_timeout_in_ms

Beschreibung:

Gibt die maximale Zeit in Millisekunden an, die nach einem erfolgreichen Verbindungsaufbau auf Daten gewartet wird (Zeit der Inaktivität zwischen zwei Datenpaketen).

Standard:

300000 (5 Minuten)

queryTimeout

Beschreibung:

Gibt an, wie viele Sekunden auf den Abschluss einer Abfrage gewartet werden soll, bevor ein Fehler zurückgegeben wird. 0 (Null) gibt an, dass der Treiber unendlich lange warten soll.

Standard:

0

Weitere Parameter

application

Beschreibung:

Snowflake partner use only: Gibt den Namen einer Partneranwendung an, die über JDBC verbunden werden soll.

client_config_file

Beschreibung:

Gibt den Pfad einer Protokollierungskonfigurationsdatei an, mit der Sie den Protokolliergrad und das Verzeichnis zum Speichern von Protokolldateien definieren können.

enablePatternSearch

Beschreibung:

Aktiviert oder deaktiviert die Mustersuche für Metadatenoperationen getCrossReference, getExportedKeys, getImportedKeys und getPrimaryKeys, deren Parameter nicht als Muster verwendet werden sollen.

Standard:

true

enablePutGet

Beschreibung:

Legt fest, ob die Befehle PUT und GET Zugriff auf lokale Dateisysteme erhalten sollen. Wenn Sie den Wert auf false setzen, wird die Ausführung der Befehle PUT und GET deaktiviert.

Standard:

true

maxHttpRetries

Beschreibung:

Gibt an, wie oft fehlgeschlagene HTTP-Anforderungen maximal wiederholt werden können, bevor ein Fehler zurückgegeben wird.

Standard:

7

net.snowflake.jdbc.max_connections

Beschreibung:

Gibt die Anzahl der maximal verfügbaren Verbindungen im Verbindungspool an.

Standard:

300

net.snowflake.jdbc.max_connections_per_route

Beschreibung:

Gibt die maximale Anzahl der zulässigen Verbindungen für einen einzelnen Port oder eine URL an. Der Wert darf den Wert von net.snowflake.jdbc.max_connections nicht überschreiten.

Standard:

300

ocspFailOpen

Beschreibung:

Gibt an, dass der Treiber ein „Fail-open“ generieren soll, wenn er den OCSP-Server nicht erreichen kann, um das Zertifikat zu überprüfen. Siehe OCSP.

putGetMaxRetries

Beschreibung:

Gibt an, wie oft PUT/GET-Ausnahmen für Speicherclients maximal wiederholt werden sollen.

Standard:

25

stringsQuotedForColumnDef

Beschreibung:

Wenn dieser Parameter auf true gesetzt ist und DatabaseMetaData.getColumns() und DatabaseMetaData.getProcedureColumns() einen Wert vom Typ String in der Spalte COLUMN_DEF zurückgeben, wird dieser Wert in einfache Anführungszeichen eingeschlossen. (Wenn der Datentyp des Werts nicht String ist, wird der Wert unabhängig von der Einstellung dieses Parameters nicht in Anführungszeichen gesetzt.)

  • true gibt an, dass Zeichenfolgenwerte in einfache Anführungszeichen eingeschlossen werden sollen (die Anführungszeichen sind Teil der Zeichenfolge und keine Trennzeichen). Dies entspricht dem JDBC-Standard.

  • false gibt an, dass Zeichenfolgenwerte nicht in einfache Anführungszeichen eingeschlossen werden.

Standard:

false

tracing

Beschreibung:

Gibt den Protokolliergrad für den Treiber an. Der Treiber verwendet das Standard-Java-Protokolldienstprogramm. Sie können diesen Parameter auf eine der folgenden Protokollgrade einstellen:

  • OFF

  • SEVERE

  • WARNING

  • INFO

  • CONFIG

  • FINE

  • FINER

  • FINEST

  • ALL

Standard:

INFO