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 para false. Esta mudança afeta os clientes PrivateLink cujos nomes de conta contêm sublinhados. Nesta situação, você deve substituir o valor padrão definindo allowUnderscoresInHost por true.

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âmetro token 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 multifator

Se 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 (ou true) especifica que o código está anexado.

  • off (ou false) 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);
    
    Copy
  • A segunda maneira é criar um objeto Properties, atualizar o objeto com a senha e passar o objeto para o método getConnection:

    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

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 como oauth, 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 de token não for especificado, o método Driver.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étodo getConnection(), 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);
Copy
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 (ou true) especifica para ignorar o proxy.

  • off (ou false) 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 (ou true) especifica que o driver deve usar um proxy.

  • off (ou false) 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

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.

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 quando DatabaseMetaData.getColumns() e DatabaseMetaData.getProcedureColumns() retornarem um valor do tipo String na coluna COLUMN_DEF, esse valor é inserido entre aspas simples. (Se o tipo de dados do valor não for String, 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