Ü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

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.

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