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
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_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:
Spécifie la phrase secrète qui déchiffre le 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.
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.Voir Spécification d’un serveur proxy dans la chaîne de connexion JDBC pour plus de détails.
- 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.
- 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.
- 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.
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
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
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