Ü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
auffalse
. Diese Änderung hat Auswirkungen für PrivateLink-Kunden, deren Kontonamen Unterstriche enthalten. In diesem Fall müssen Sie den Standardwert überschreiben, indem SieallowUnderscoresInHost
auftrue
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 Parametertoken
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 AuthentifizierungWenn 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
(odertrue
) gibt an, dass die Kennung angehängt wird.
off
(oderfalse
) 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);Die zweite Möglichkeit besteht darin, ein
Properties
-Objekt zu erstellen, das Objekt mit dem Kennwort zu aktualisieren und das Objekt an diegetConnection
-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);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 aufoauth
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 dertoken
-Konfigurationsparameter nicht angegeben ist, erwartet die MethodeDriver.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 MethodegetConnection()
ü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);- 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
(odertrue
) gibt an, den Proxy zu ignorieren.
off
(oderfalse
) 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
(odertrue
) gibt an, dass der Treiber einen Proxy verwenden soll.
off
(oderfalse
) 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
undgetPrimaryKeys
, 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 undDatabaseMetaData.getColumns()
undDatabaseMetaData.getProcedureColumns()
einen Wert vom TypString
in der Spalte COLUMN_DEF zurückgeben, wird dieser Wert in einfache Anführungszeichen eingeschlossen. (Wenn der Datentyp des Werts nichtString
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