Referência dos parâmetros de conexão do driver JDBC¶
Este tópico lista os parâmetros de conexão que você pode usar para configurar o driver JDBC. Você pode definir estes parâmetros na cadeia de conexão JDBC ou em um objeto Java Properties
.
Neste tópico:
Parâmetros obrigatórios¶
Esta seção lista os parâmetros que você deve definir na cadeia de conexão ou no Map
de propriedades.
Nota
Você também deve definir os parâmetros para autenticação.
user
¶
- Descrição:
Especifica o nome de login do usuário para a conexão.
Parâmetros de autenticação¶
allowUnderscoresInHost
¶
- Descrição:
Especifica se devem ser permitidos sublinhados nos nomes das contas. O driver JDBC não oferece suporte a sublinhados em URLs, que incluem o nome da conta, portanto o driver JDBC converte automaticamente os sublinhados em hífens. O valor padrão é
false
.Nota
A partir da versão 3.13.25, o driver Snowflake JDBC muda o valor padrão do parâmetro
allowUnderscoresInHost
parafalse
. Esta mudança afeta os clientes PrivateLink cujos nomes de conta contêm sublinhados. Nesta situação, você deve substituir o valor padrão definindoallowUnderscoresInHost
portrue
.
authenticator
¶
- Descrição:
Especifica o autenticador a ser usado para verificar as credenciais de login de usuário. Você pode definir isto para um dos seguintes valores:
snowflake
para usar o autenticador interno do Snowflake.
externalbrowser
para usar seu navegador para autenticar com Okta, AD FS ou qualquer outro provedor de identidade compatível com SAML 2.0 (IdP) que tenha sido definido para sua conta.
https://<nome_da_conta_okta>.okta.com
(ou seja, o ponto de extremidade da URL para sua conta Okta) para autenticar através de Okta nativo (com suporte apenas se seu IdP for Okta).
oauth
para autenticar usando OAuth. Quando OAuth é especificado como o autenticador, você também deve definir o parâmetrotoken
para especificar o token OAuth (consulte abaixo).
snowflake_jwt
para autenticar usando autenticação de pares de chaves. Para obter mais detalhes sobre autenticação de par de chaves, consulte Uso da autenticação de par de chaves e rotação de chaves.
username_password_mfa
para autenticar com o armazenamento em cache de tokens MFA. Para obter mais detalhes, consulte Uso da autenticação multifatorSe a cadeia de conexão especificar um par de chaves, então a autenticação do par de chaves será usada mesmo que o parâmetro
authenticator
seja removido ou esteja definido como “snowflake”.Para obter mais informações sobre autenticação, consulte Gerenciamento/uso da autenticação federada e Clientes, drivers e conectores.
- Padrão:
snowflake
passcode
¶
- Descrição:
Especifica a senha a ser usada para autenticação multifator.
Para obter mais informações sobre autenticação multifator, consulte Autenticação multifator (MFA).
passcodeInPassword
¶
- Descrição:
Especifica se o código da autenticação multifator está anexado à senha:
on
(outrue
) especifica que o código está anexado.
off
(oufalse
) ou qualquer outro valor especifica que o código não está anexado.- Padrão:
off
password
¶
- Descrição:
Especifica a senha para o usuário especificado.
Há duas maneiras de especificar a senha:
A primeira maneira é passar a ID de usuário e a senha diretamente para o método
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);A segunda maneira é criar um objeto
Properties
, atualizar o objeto com a senha e passar o objeto para o métodogetConnection
: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);Atenção
Recomendamos fortemente que você não inclua a senha do usuário diretamente na cadeia de conexão JDBC porque a senha pode ser inadvertidamente exposta pelo aplicativo cliente que usa a cadeia de cadeia de caracteres para se conectar ao Snowflake. Ao invés disso, use a(s) interface(s) fornecida(s) pelo aplicativo para especificar a senha do usuário.
privatekey
¶
- Descrição:
Especifica a chave privada para o usuário especificado. Consulte Uso da autenticação de par de chaves e rotação de chaves.
private_key_file
¶
- Descrição:
Especifica o caminho para o arquivo de chave privada para o usuário especificado. Consulte Uso da autenticação de par de chaves e rotação de chaves.
private_key_file_pwd
¶
- Descrição:
Especifica a senha para descriptografar o arquivo de chave privada para o usuário especificado. Consulte Uso da autenticação de par de chaves e rotação de chaves.
token
¶
- Descrição:
Especifica o token OAuth a ser usado para autenticação, onde
<string>
é o token. Este parâmetro só é necessário quando se define o parâmetro authenticator comooauth
, exceto conforme observado abaixo.Nota
A partir da versão 3.13.24, o driver JDBC Snowflake permite enviar o token de OAuth na senha de conexão, além de incluí-lo no parâmetro de configuração de
token
. Se o parâmetro de configuração detoken
não for especificado, o métodoDriver.connect()
espera que o token seja armazenado na senha de conexão.Este recurso oferece suporte principalmente ao uso de autenticação OAuth para os pools de conexão, permitindo que você passe tokens atualizados conforme necessário em vez de ser restringido por um token expirado especificado no parâmetro de configuração do
token
.Por exemplo, em vez de definir o parâmetro de configuração de
token
, você pode passar o token como senha nas propriedades do métodogetConnection()
, semelhante ao seguinte: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);- Padrão:
Nenhum
Parâmetros para banco de dados, função, esquema e warehouse padrão¶
db
¶
- Descrição:
Especifica o banco de dados padrão a ser usado uma vez conectado, ou especifica uma cadeia de caracteres vazia. O banco de dados especificado deve ser um banco de dados existente para o qual a função padrão especificada tem privilégios.
Se você precisar usar um banco de dados diferente após a conexão, execute o comando USE DATABASE.
role
¶
- Descrição:
Especifica a função de controle de acesso padrão a ser usada na sessão Snowflake iniciada pelo driver. A função especificada deve ser uma função existente que já tenha sido atribuída ao usuário especificado para o driver. Se a função especificada ainda não tiver sido atribuída ao usuário, a função não é utilizada quando a sessão é iniciada pelo driver.
Se você precisar usar uma função diferente após a conexão, execute o comando USE ROLE.
Para obter mais informações sobre funções e controle de acesso, consulte Visão geral do controle de acesso.
schema
¶
- Descrição:
Especifica o esquema padrão a ser usado para o banco de dados especificado, uma vez conectado, ou especifica uma cadeia de caracteres vazia. O esquema especificado deve ser um esquema existente para o qual a função padrão especificada tem privilégios.
Se você precisar usar um esquema diferente após a conexão, execute o comando USE SCHEMA.
warehouse
¶
- Descrição:
Especifica o warehouse virtual a ser utilizado uma vez conectado, ou especifica uma cadeia de caracteres vazia. O warehouse especificado deve ser um warehouse existente para o qual a função padrão especificada tem privilégios.
Se você precisar usar um warehouse diferente após a conexão, execute o comando USE WAREHOUSE pode ser executado para definir um warehouse diferente para a sessão.
Parâmetros de proxy¶
disableSocksProxy
¶
- Descrição:
Especifica se o driver deve ignorar a configuração de proxy SOCKS especificada nas opções do sistema Java:
on
(outrue
) especifica para ignorar o proxy.
off
(oufalse
) ou qualquer outro valor especifica para usar o proxy.Nota
A definição deste parâmetro de conexão altera o comportamento de todas as conexões na mesma JVM (máquina virtual Java).
- Padrão:
off
nonProxyHosts
¶
- Descrição:
Especifica as listas de hosts aos quais o driver deve se conectar diretamente, ignorando o servidor proxy. Consulte Especificação de um servidor proxy na cadeia de conexão JDBC para obter mais detalhes.
proxyHost
¶
- Descrição:
Especifica o nome de host do servidor proxy a ser utilizado. Consulte Especificação de um servidor proxy na cadeia de conexão JDBC para obter mais detalhes.
proxyPassword
¶
- Descrição:
Especifica a senha de autenticação para o servidor proxy. Consulte Especificação de um servidor proxy na cadeia de conexão JDBC para obter mais detalhes.
proxyPort
¶
- Descrição:
Especifica o número da porta do servidor proxy a ser utilizada. Consulte Especificação de um servidor proxy na cadeia de conexão JDBC para obter mais detalhes.
proxyProtocol
¶
- Descrição:
Especifica o protocolo usado para se conectar ao servidor proxy. Consulte Especificação de um servidor proxy na cadeia de conexão JDBC para obter mais detalhes.
- Padrão:
http
proxyUser
¶
- Descrição:
Especifica o nome do usuário para autenticação no servidor proxy. Consulte Especificação de um servidor proxy na cadeia de conexão JDBC para obter mais detalhes.
useProxy
¶
- Descrição:
Especifica se o driver deve usar um proxy:
on
(outrue
) especifica que o driver deve usar um proxy.
off
(oufalse
) ou qualquer outro valor especifica que o driver não deve usar um proxy.Consulte Especificação de um servidor proxy na cadeia de conexão JDBC para obter mais detalhes.
- Padrão:
off
Parâmetros de tempo limite¶
loginTimeout
¶
- Descrição:
Especifica o número de segundos para esperar por uma resposta ao se conectar ao serviço Snowflake antes de retornar um erro de falha no login.
- Padrão:
60
networkTimeout
¶
- Descrição:
Especifica o número de milissegundos para esperar por uma resposta ao interagir com o serviço Snowflake antes de retornar um erro.
0
(zero) especifica que nenhum tempo limite da rede é definido.- Padrão:
0
net.snowflake.jdbc.http_client_connection_timeout_in_ms
¶
- Descrição:
Especifica o tempo máximo, em milissegundos, de espera até o estabelecimento completo de uma nova conexão (incluindo negociação TLS) com o host remoto.
- Padrão:
60000
(1 minuto)
net.snowflake.jdbc.http_client_socket_timeout_in_ms
¶
- Descrição:
Especifica o tempo máximo, em milissegundos, de espera pelos dados (tempo de inatividade entre dois pacotes de dados) após uma conexão ser estabelecida com êxito.
- Padrão:
300000
(5 minutos)
queryTimeout
¶
- Descrição:
Especifica o número de segundos para esperar que uma consulta seja concluída antes de retornar um erro.
0
(zero) especifica que o driver deve esperar indefinidamente.- Padrão:
0
Outros parâmetros¶
application
¶
- Descrição:
Somente para uso por parceiro do Snowflake: especifica o nome de um aplicativo do parceiro para conexão por JDBC.
client_config_file
¶
- Descrição:
Especifica o caminho de um arquivo de configuração do registro em log que você pode usar para definir o nível de registro em log e o diretório para salvar arquivos de log.
enablePatternSearch
¶
- Descrição:
Ativa ou desativa a pesquisa de padrões para operações de metadados
getCrossReference
,getExportedKeys
,getImportedKeys
egetPrimaryKeys
que não devem usar seus parâmetros como padrões.- Padrão:
true
enablePutGet
¶
- Descrição:
Especifica se é permitido permitir o acesso dos comandos PUT e GET aos sistemas de arquivos locais. Definir o valor como
false
desativa a execução dos comandos PUT e GET.- Padrão:
true
maxHttpRetries
¶
- Descrição:
Especifica o número máximo de vezes para repetir solicitações de HTTP com falha antes de retornar um erro.
- Padrão:
7
net.snowflake.jdbc.max_connections
¶
- Descrição:
Especifica o total máximo de conexões disponíveis no pool de conexões.
- Padrão:
300
net.snowflake.jdbc.max_connections_per_route
¶
- Descrição:
Especifica o número máximo de conexões permitidas para uma única porta ou URL. O valor não pode exceder o valor net.snowflake.jdbc.max_connections.
- Padrão:
300
ocspFailOpen
¶
- Descrição:
Especifica que o driver deve usar “fail open” se não conseguir chegar ao servidor OCSP para verificar o certificado. Consulte OCSP.
putGetMaxRetries
¶
- Descrição:
Especifica o número máximo de vezes para repetir exceções PUT/GET para clientes de armazenamento.
- Padrão:
25
stringsQuotedForColumnDef
¶
- Descrição:
Se este parâmetro for definido como
true
, então quandoDatabaseMetaData.getColumns()
eDatabaseMetaData.getProcedureColumns()
retornarem um valor do tipoString
na coluna COLUMN_DEF, esse valor é inserido entre aspas simples. (Se o tipo de dados do valor não forString
, então o valor não é incluído entre aspas, independentemente da definição deste parâmetro).
true
especifica que os valores da cadeia de caracteres devem ser incorporados em aspas simples (as aspas são parte da cadeia de caracteres, e não delimitadores). Isto está de acordo com o padrão JDBC.
false
especifica que os valores das cadeias de caracteres não são incorporados entre aspas simples.- Padrão:
false
tracing
¶
- Descrição:
Especifica o nível de log para o driver. O driver usa o utilitário de log Java padrão. Você pode definir este parâmetro para um dos seguintes níveis de log:
OFF
SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST
ALL
- Padrão:
INFO