Référence Paramètre de connexion pilote JDBC¶
Cette rubrique répertorie les paramètres de connexion que vous pouvez utiliser pour configurer le pilote JDBC. Vous pouvez définir ces paramètres dans la chaîne de connexion JDBC ou dans un objet Java Properties
.
Dans ce chapitre :
Paramètres requis¶
Cette section énumère les paramètres que vous devez définir dans la chaîne de connexion ou dans les Map
de propriétés.
Note
Vous devez également définir les paramètres d’authentification.
user
¶
- Description:
Spécifie le nom de connexion de l’utilisateur pour la connexion.
Paramètres d’authentification¶
allowUnderscoresInHost
¶
- Description:
Indique si les caractères de soulignement sont autorisés dans les noms de comptes. Le pilote JDBC ne prend pas en charge les caractères de soulignement dans les URLs, qui comprennent le nom du compte. Ainsi, le pilote JDBC convertit automatiquement les traits de soulignement en traits d’union. La valeur par défaut est
false
.Note
À partir de la version 3.13.25, le pilote JDBC de Snowflake change la valeur par défaut du paramètre
allowUnderscoresInHost
surfalse
. Ce changement a un impact sur les clients PrivateLink dont les noms de compte contiennent des caractères de soulignement. Dans cette situation, vous devez remplacer la valeur par défaut en donnant àallowUnderscoresInHost
la valeurtrue
.
authenticator
¶
- Description:
Spécifie l’authentificateur à utiliser pour vérifier les identifiants de connexion utilisateur. Vous pouvez définir cette option sur l’une des valeurs suivantes :
snowflake
pour utiliser l’authentificateur interne Snowflake.
externalbrowser
pour utiliser votre navigateur Web pour vous authentifier avec Okta, des ADFS ou tout autre fournisseur d’identification conforme à SAML 2.0 (IdP) qui a été défini pour votre compte.
https://<nom_compte_okta>.okta.com
(c.-à-d. le point de terminaison d’URL pour votre compte Okta) pour vous authentifier via Okta natif (uniquement pris en charge si votre IdP est Okta).
oauth
pour vous authentifier à l’aide de OAuth. Lorsque OAuth est spécifié comme authentificateur, vous devez également définir le paramètretoken
pour spécifier le jeton OAuth (voir ci-dessous).
snowflake_jwt
pour vous authentifier à l’aide de l’authentification par paire de clés. Pour plus de détails sur l’authentification par paire de clés, voir Utilisation de l’authentification par paire de clés et rotation de clés.
username_password_mfa
pour s’authentifier avec la mise en cache du jeton MFA. Pour plus de détails, voir Utilisation de l’authentification multifactorielleSi la chaîne de connexion spécifie une paire de clés, l’authentification par paire de clés sera utilisée même si le paramètre
authenticator
n’est pas défini ou est défini sur « Snowflake ».Pour plus d’informations sur l’authentification, voir Gestion/Utilisation de l’authentification fédérée et Clients, pilotes et connecteurs.
- Par défaut:
snowflake
disableGcsDefaultCredentials
¶
- Description:
Indique s’il faut utiliser la recherche d’identifiants de connexion par défaut au lieu des identifiants de connexion par défaut de l’application externe lors de l’utilisation de GCP (Google Cloud Platform).
Par défaut, les utilisateurs de GCP peuvent utiliser diverses options pour configurer les identifiants de connexion par défaut de l’application Google en dehors de Snowflake. Occasionnellement, ces méthodes d’authentification peuvent interférer avec les opérations de stockage dans le cloud qui proviennent du pilote JDBC de Snowflake. Dans de tels cas, vous pouvez fixer la valeur sur
true
pour forcer le pilote à ignorer les identifiants de connexion GCP provenant d’autres sources.Pour plus d’informations, voir Identifiants de connexion par défaut de l’application
Vous pouvez également utiliser la propriété Java
net.snowflake.jdbc.disableGcsDefaultCredentials
pour obtenir le même effet.- Par défaut:
false
disableSamlURLCheck
¶
- Description:
Indique s’il faut désactiver le contrôle de validation d’une réponse SAML.
- Par défaut:
false
passcode
¶
- Description:
Spécifie le code à utiliser pour l’authentification multifactorielle.
Pour plus d’informations sur l’authentification multifactorielle, voir Authentification multifactorielle (MFA).
passcodeInPassword
¶
- Description:
Indique si le code pour l’authentification multifactorielle est ajouté au mot de passe :
on
(outrue
) spécifie que le code est ajouté.
off
(oufalse
) ou toute autre valeur spécifie que le code n’est pas ajouté.- Par défaut:
off
password
¶
- Description:
Spécifie le mot de passe de l’utilisateur spécifié.
Il existe deux manières de spécifier le mot de passe :
La première consiste à transmettre l’ID et le mot de passe de l’utilisateur directement à la méthode
getConnection
: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);La deuxième consiste à créer un objet
Properties
, à mettre à jour l’objet avec le mot de passe et à le transmettre à la méthodegetConnection
: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);Attention
Nous vous recommandons fortement de ne pas inclure le mot de passe utilisateur directement dans la chaîne de connexion JDBC, car le mot de passe pourrait être exposé par inadvertance par l’application client qui utilise la chaîne pour se connecter à Snowflake. Utilisez plutôt les interfaces fournies par l’application pour spécifier le mot de passe utilisateur.
privatekey
¶
- Description:
Spécifie la clé privée pour l’utilisateur spécifié. Voir Utilisation de l’authentification par paire de clés et rotation de clés.
private_key_base64
¶
- Description:
Spécifie la clé privée base64 pour l’utilisateur spécifié. Voir Utilisation de l’authentification par paire de clés et rotation de clés.
private_key_file
¶
- Description:
Spécifie le chemin d’accès au fichier de clé privée pour l’utilisateur spécifié. Voir Utilisation de l’authentification par paire de clés et rotation de clés.
private_key_file_pwd
¶
- Description:
(Obsolète) Utilisez private_key_pwd plutôt.
private_key_pwd
¶
- Description:
Spécifie la phrase secrète qui déchiffre le fichier de clé privée ou la clé privée encodée en base64 pour l’utilisateur spécifié. Voir Utilisation de l’authentification par paire de clés et rotation de clés.
token
¶
- Description:
Spécifie le jeton OAuth à utiliser pour l’authentification, où
<chaîne>
est le jeton. Ce paramètre est requis uniquement lorsque le paramètre authenticator est réglé suroauth
, à l’exception de ce qui est noté ci-dessous.Note
À partir de la version 3.13.24, le pilote JDBC Snowflake vous permet d’envoyer le jeton OAuth dans le mot de passe de connexion en plus de l’inclure dans le paramètre de configuration du
token
. Si le paramètre de configuration dutoken
n’est pas spécifié, la méthodeDriver.connect()
s’attend à ce que le jeton soit stocké dans le mot de passe de la connexion.Cette fonctionnalité prend principalement en charge l’utilisation de l’authentification OAuth pour les pools de connexion, ce qui vous permet de transmettre des jetons actualisés selon les besoins au lieu d’être limité par un jeton expiré spécifié dans le paramètre de configuration
token
.Par exemple, au lieu de définir le paramètre de configuration du
token
, vous pouvez transmettre le jeton comme mot de passe dans les propriétés de la méthodegetConnection()
, comme suit :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);- Par défaut:
Aucun
Paramètres pour la base de données, le rôle, le schéma et l’entrepôt par défaut¶
db
¶
- Description:
Spécifie la base de données par défaut à utiliser une fois la connexion effectuée, ou une chaîne vide. La base de données spécifiée doit être une base de données existante pour laquelle le rôle par défaut spécifié a des privilèges.
Si vous devez utiliser une autre base de données après la connexion, exécutez la commande USE DATABASE.
role
¶
- Description:
Spécifie le rôle de contrôle d’accès par défaut à utiliser dans la session Snowflake initiée par le pilote. Le rôle spécifié doit être un rôle existant qui a déjà été affecté à l’utilisateur spécifié pour le pilote. Si le rôle spécifié n’a pas déjà été affecté à l’utilisateur, il n’est pas utilisé lorsque la session est lancée par le pilote.
Si vous devez utiliser un rôle différent après la connexion, exécutez la commande USE ROLE.
Pour plus d’informations sur les rôles et le contrôle d’accès, voir Aperçu du contrôle d’accès.
schema
¶
- Description:
Spécifie le schéma par défaut à utiliser pour la base de données spécifiée une fois connecté, ou une chaîne vide. Le schéma spécifié doit être un schéma existant pour lequel le rôle par défaut spécifié possède des privilèges.
Si vous devez utiliser un schéma différent après la connexion, exécutez la commande USE SCHEMA.
warehouse
¶
- Description:
Spécifie l’entrepôt virtuel à utiliser une fois connecté, ou une chaîne vide. L’entrepôt spécifié doit être un entrepôt existant pour lequel le rôle par défaut spécifié possède des privilèges.
Si vous devez utiliser un entrepôt différent après la connexion, exécutez la commande USE WAREHOUSE pour définir un entrepôt différent pour la session.
Paramètres du proxy¶
disableSocksProxy
¶
- Description:
Indique si le pilote doit ignorer la configuration proxy SOCKS spécifiée dans les options système Java :
on
(outrue
) spécifie d’ignorer le proxy.
off
(oufalse
) ou toute autre valeur spécifie d’utiliser le proxy.Note
Le réglage de ce paramètre de connexion modifie le comportement de toutes les connexions d’une même JVM (machine virtuelle Java).
- Par défaut:
off
nonProxyHosts
¶
- Description:
Spécifie la liste des hôtes auxquels le pilote doit se connecter directement, sans passer par le serveur proxy. Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC pour plus de détails.
proxyHost
¶
- Description:
Spécifie le nom d’hôte du serveur proxy à utiliser. Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC pour plus de détails.
proxyPassword
¶
- Description:
Spécifie le mot de passe pour l’authentification au serveur proxy. Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC pour plus de détails.
proxyPort
¶
- Description:
Spécifie le numéro de port du serveur proxy à utiliser. Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC pour plus de détails.
proxyProtocol
¶
- Description:
Spécifie le protocole utilisé pour se connecter au serveur proxy. Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC pour plus de détails.
- Par défaut:
http
proxyUser
¶
- Description:
Spécifie le nom d’utilisateur pour l’authentification au serveur proxy. Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC pour plus de détails.
useProxy
¶
- Description:
Indique si le pilote doit utiliser un proxy :
on
(outrue
) spécifie que le pilote doit utiliser un proxy.
off
(oufalse
) ou toute autre valeur spécifie que le pilote ne doit pas utiliser de proxy. Ce paramètre n’a aucun effet si des arguments de proxy JVM sont présents.Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC.
- Par défaut:
off
Paramètres de délai d’expiration¶
loginTimeout
¶
- Description:
Indique le nombre de secondes pour l’obtention d’une réponse lors de la connexion au service Snowflake avant de renvoyer une erreur d’échec de connexion.
- Par défaut:
60
networkTimeout
¶
- Description:
Spécifie le nombre de millisecondes à attendre pour obtenir une réponse lors d’une interaction avec le service Snowflake avant de renvoyer une erreur.
0
(zéro) indique qu’aucun délai d’expiration réseau n’est défini.- Par défaut:
0
net.snowflake.jdbc.http_client_connection_timeout_in_ms
¶
- Description:
Spécifie le temps maximum, en millisecondes, à attendre avant d’établir complètement une nouvelle connexion (y compris la négociation TLS) avec l’hôte distant.
Vous pouvez également définir ceci dans la chaîne de connexion avec
${HTTP_CLIENT_CONNECTION_TIMEOUT}
.
- Par défaut:
60000
(1 minute)
net.snowflake.jdbc.http_client_socket_timeout_in_ms
¶
- Description:
Spécifie le temps maximum, en millisecondes, d’attente des données (temps d’inactivité entre deux paquets de données) après qu’une connexion a été établie avec succès.
Vous pouvez également définir ceci dans la chaîne de connexion avec
${HTTP_CLIENT_SOCKET_TIMEOUT}
.
- Par défaut:
300000
(5 minutes)
queryTimeout
¶
- Description:
Spécifie le nombre de secondes à attendre pour qu’une requête se termine avant de retourner une erreur.
0
(zéro) indique que le pilote doit attendre indéfiniment.- Par défaut:
0
Autres paramètres¶
application
¶
- Description:
Pour partenaire Snowflake uniquement : spécifie le nom d’une application partenaire à connecter via JDBC.
client_config_file
¶
- Description:
Spécifie le chemin d’un fichier de configuration de journalisation que vous pouvez utiliser pour définir le niveau de journalisation et le répertoire d’enregistrement des fichiers journaux.
DIAGNOSTICS_ALLOWLIST_FILE
¶
- Description:
Chemin complet et nom de fichier JSON contenant la sortie des fonctions SYSTEM$ALLOWLIST ou SYSTEM$ALLOWLIST_PRIVATELINK.
Si
ENABLE_DIAGNOSTICS
esttrue
, vous devez fournir ce paramètre.
ENABLE_DIAGNOSTICS
¶
- Description:
Quand
true
et l’application appelante appelle la méthodeDriverManager
ouDataSource
getConnection()
, le pilote exécute plusieurs tests de connectivité et écrit les résultats dans un fichier journal préconfiguré. Le pilote renvoie également l’exception suivante :net.snowflake.client.jdbc.SnowflakeSQLException: A connection was not created because the driver is running in diagnostics mode. If this is unintended then disable diagnostics check by removing the ENABLE_DIAGNOSTICS connection parameter
Si vous activez ce paramètre, vous devez fournir une valeur pour le paramètre
DIAGNOSTICS_ALLOWLIST_FILE
.- Par défaut:
false
enablePatternSearch
¶
- Description:
Active ou désactive la recherche de modèles pour les opérations de métadonnées
getCrossReference
,getExportedKeys
,getImportedKeys
, etgetPrimaryKeys
qui ne doivent pas utiliser leurs paramètres comme modèles.- Par défaut:
true
enablePutGet
¶
- Description:
Indique s’il faut autoriser les commandes PUT et GET à accéder aux systèmes de fichiers locaux. La valeur
false
désactive l’exécution des commandes PUT et GET.- Par défaut:
true
JDBC_ARROW_TREAT_DECIMAL_AS_INT
¶
- Description:
Indique si tous les nombres d’un jeu de résultats d’un appel
getObject
Arrow doivent être renvoyés sous forme d’entiers. Si cette valeur et les valeurs du paramètre JDBC_TREAT_DECIMAL_AS_INT sont toutes deuxfalse
, tous les nombres entiers figurant dans les jeux de retour Arrow d’un appelgetObject
sont renvoyés sous la forme d’un typeBigDecimal
.- Par défaut:
true
JDBC_DEFAULT_FORMAT_DATE_WITH_TIMEZONE
¶
- Description:
Spécifie s’il faut utiliser la valeur précédemment codée en dur pour le formateur (pour une compatibilité descendante).
- Par défaut:
true
JDBC_GET_DATE_USE_NULL_TIMEZONE
¶
- Description:
Spécifie s’il faut utiliser la valeur de fuseau horaire précédemment nulle pour la méthode
getDate
(pour la rétrocompatibilité).- Par défaut:
true
maxHttpRetries
¶
- Description:
Indique le nombre maximum de tentatives de requêtes HTTP qui ont échoué avant de renvoyer une erreur.
- Par défaut:
7
net.snowflake.jdbc.max_connections
¶
- Description:
Spécifie le nombre total maximum de connexions disponibles dans le pool de connexion.
- Par défaut:
300
net.snowflake.jdbc.max_connections_per_route
¶
- Description:
Spécifie le nombre maximum de connexions autorisées pour un seul port ou par URL. La valeur ne peut pas dépasser la valeur net.snowflake.jdbc.max_connections.
- Par défaut:
300
net.snowflake.jdbc.objectMapper.maxJsonStringLength
¶
- Description:
Spécifie le nombre maximal d’octets pour une chaîne. Vous pouvez augmenter la valeur de cette propriété Java pour définir une mémoire tampon plus grande pour la désérialisation de la réponse Snowflake si vous recevez des messages d’erreur similaires aux suivants :
com.fasterxml.jackson.core.exc.StreamConstraintsException: String length (XXXXXXX) exceeds the maximum length (180000000)
- Par défaut:
180000000
ocspFailOpen
¶
- Description:
Spécifie que le pilote doit « échouer » s’il ne peut pas atteindre le serveur OCSP pour vérifier le certificat. Voir OCSP.
putGetMaxRetries
¶
- Description:
Spécifie le nombre maximum de tentatives de réessayer les exceptions PUT/GET pour les clients de stockage.
- Par défaut:
25
stringsQuotedForColumnDef
¶
- Description:
Si ce paramètre est défini sur
true
, alors lorsqueDatabaseMetaData.getColumns()
etDatabaseMetaData.getProcedureColumns()
renvoient une valeur de typeString
dans la colonne COLUMN_DEF, cette valeur est intégrée dans des guillemets simples. (Si le type de données de la valeur n’est pasString
, la valeur n’est pas entre guillemets, quel que soit le réglage de ce paramètre.)
true
spécifie que les valeurs de chaîne doivent être intégrées entre guillemets simples (les guillemets font partie de la chaîne, pas des délimiteurs). Ceci est conforme à la norme JDBC.
false
spécifie que les valeurs de chaîne ne sont pas intégrées entre guillemets simples.- Par défaut:
false
tracing
¶
- Description:
Spécifie le niveau de journal du conducteur. Le pilote utilise l’utilitaire de journalisation standard Java. Vous pouvez définir ce paramètre sur l’un des niveaux de journalisation suivants :
OFF
SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST
ALL
- Par défaut:
INFO