Download/integração do driver JDBC¶
O driver JDBC (snowflake-jdbc
) é fornecido como um arquivo JAR, disponível como um artefato no Maven para download ou para integração direta em seus projetos baseados em Java. Além disso, você também pode baixar os seguintes tipos de drivers do Maven:
Fat jar compatível com FIPS com o nome
snowflake-jdbc-fips
.Thin jar com nome
snowflake-jdbc-thin
.
O código-fonte dos tipos adicionais é o mesmo, mas as configurações de suas dependências são diferentes, como segue:
O fat jar compatível com FIPS não incorpora as dependências do FIPS Bouncy Castle, portanto, você precisa fornecê-las durante o tempo de execução.
O thin jar incorpora apenas algumas dependências, portanto, você precisa fornecer as outras dependências de acordo com a declaração do arquivo pom.
Todos os tipos de JAR são lançados juntos com o mesmo número de versão.
Antes de fazer o download ou integrar o driver, você deve verificar a versão do driver que está usando no momento. Para verificar sua versão do driver, conecte-se ao Snowflake através de um aplicativo cliente que usa o driver e verifique a versão. Se o aplicativo oferecer suporte à execução de consultas SQL, você pode fazer isto chamando a função CURRENT_CLIENT.
Neste tópico:
Requisitos¶
Para obter uma lista dos sistemas operacionais compatíveis com os clientes Snowflake, consulte Suporte ao sistema operacional.
Como baixar o tipo de driver desejado¶
Para fazer o download do driver, siga as etapas para o tipo de driver desejado.
Download de um driver padrão¶
Para fazer o download do driver padrão:
Acesse o Maven Central Repository para obter o driver padrão.
Selecione o diretório da versão que você precisa.
A versão mais recente (3.22.0) nem sempre está no final da lista. As versões são listadas em ordem alfabética, não numérica. Por exemplo, o 3.10.x vem depois do 3.1.x, não depois do 3.9.x.
Faça o download do arquivo
snowflake-jdbc-#.#.#.#.jar
apropriado:Nota
Você pode verificar a versão do driver JDBC digitando o seguinte comando:
java -jar snowflake-jdbc-#.#.#.jar --version
onde#.#.#
corresponde aos números da versão no nome do arquivo baixado.Opcional: para verificar a assinatura do pacote do driver, faça o download do arquivo correspondente
snowflake-jdbc-#.#.#.#.jar.asc
.
Download de um driver compatível com o FIPS¶
Para fazer o download do driver compatível com o FIPS:
Acesse o Maven Central Repository para obter o driver compatível com FIPS.
Selecione o diretório da versão que você precisa.
A versão mais recente (3.22.0) nem sempre está no final da lista. As versões são listadas em ordem alfabética, não numérica. Por exemplo, o 3.10.x vem depois do 3.1.x, não depois do 3.9.x.
Faça o download do arquivo
snowflake-jdbc-fips-#.#.#.#.jar
apropriado:Nota
Você pode verificar a versão do driver JDBC digitando o seguinte comando:
java -jar snowflake-jdbc-fips-#.#.#.jar --version
onde#.#.#
corresponde aos números da versão no nome do arquivo baixado.Opcionalmente, você pode verificar a assinatura do pacote do driver, fazer o download do arquivo correspondente
snowflake-jdbc-fips-#.#.#.#.jar.asc
.
Como baixar um driver thin-jar¶
Para fazer o download do driver thin-jar:
Acesse o Maven Central Repository para o driver thin-jar.
Selecione o diretório da versão que você precisa.
A versão mais recente (3.22.0) nem sempre está no final da lista. As versões são listadas em ordem alfabética, não numérica. Por exemplo, o 3.10.x vem depois do 3.1.x, não depois do 3.9.x.
Faça o download do arquivo
snowflake-jdbc-thin-#.#.#.#.jar
apropriado:Nota
Você pode verificar a versão do driver JDBC digitando o seguinte comando:
java -jar snowflake-jdbc-thin-#.#.#.jar --version
onde#.#.#
corresponde aos números da versão no nome do arquivo baixado.Opcionalmente, você pode verificar a assinatura do pacote do driver, fazer o download do arquivo correspondente
snowflake-jdbc-thin-#.#.#.#.jar.asc
.
Opcional: verificar a assinatura do pacote de driver¶
Para verificar a assinatura do pacote de driver JDBC:
A partir do servidor de chaves públicas, baixe e importe a chave pública do Snowflake GPG para a versão do JDBC que você está usando:
Para a versão 3.22.0 e superior:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 2A3149C82551A34A
Para a versão 3.19.1 a 3.21.0:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 5A125630709DD64B
Para a versão 3.13.23 a 3.19.0:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 630D9F3CAB551AF3
Para a versão 3.12.13 a 3.13.22:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 37C7086698CB005C
Para a versão 3.6.26 até 3.12.12:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys EC218558EABB25A1
Para a versão 3.6.25 e inferior:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 93DB296A69BE019A
Nota
Se esse comando falhar com o seguinte erro:
gpg: keyserver receive failed: Server indicated a failure
depois especifique que você deseja usar a porta 80 para o servidor de chaves:
gpg --keyserver hkp://keyserver.ubuntu.com:80 ...
Execute o comando
gpg --verify
para verificar a assinatura do pacote.Para o sinalizador de linha de comando
--verify
, especifique o arquivo.asc
que você baixou anteriormente como o arquivo de assinatura e o arquivo JAR como o arquivo contendo os dados assinados.Por exemplo:
$ gpg --verify snowflake-jdbc-3.22.0.jar.asc snowflake-jdbc-3.22.0.jar gpg: Signature made Wed 22 Feb 2017 04:31:58 PM UTC using RSA key ID <gpg_key_id> gpg: Good signature from "Snowflake Computing <snowflake_gpg@snowflake.net>"
Especifique os números de versão corretos para o pacote de driver JDBC que você está verificando. A versão 3.22.0 é utilizada neste exemplo apenas para fins ilustrativos. A última versão disponível do driver pode ser mais alta.
Nota
A verificação da assinatura produz um aviso semelhante ao seguinte:
gpg: Signature made Mon 24 Sep 2018 03:03:45 AM UTC using RSA key ID <gpg_key_id> gpg: Good signature from "Snowflake Computing <snowflake_gpg@snowflake.net>" unknown gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner.
Para evitar o aviso, você pode conceder confiança implícita à chave pública GPG do Snowflake.
Seu ambiente local pode conter múltiplas chaves GPG. Entretanto, por razões de segurança, o Snowflake alterna periodicamente a chave pública GPG. Como melhor prática, recomendamos excluir a chave pública existente após confirmar que a última chave funciona com o último pacote assinado:
$ gpg --delete-key "Snowflake Computing"
Integração do driver a um projeto maven¶
Para integrar o driver a um projeto Maven:
Adicione o driver como uma dependência ao seu arquivo
pom.xml
.
Por exemplo:
Driver padrão
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
Driver compatível com FIPS
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc-fips</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
Driver thin-jar
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc-thin</artifactId> <version>3.22.0</version> </dependency> ... </dependencies>
onde a tag <versão>
especifica a versão do driver que você deseja integrar. Observe que a versão 3.22.0 é usada neste exemplo apenas para fins ilustrativos. Uma versão posterior do driver pode estar disponível.
As notas do desenvolvedor são hospedadas junto com o código fonte em GitHub.
Adição das classes JNA ao seu classpath¶
O cache de conexão para SSO baseado em navegador e cache de token para autenticação multi-fator (MFA) requerem o uso das classes Java Native Access (JNA) para salvar os dados com segurança no sistema de arquivos.
A partir da versão 3.12.18 do driver JDBC, as classes JNA não estão mais empacotadas no arquivo JAR do driver JDBC. No arquivo pom.xml
do driver JDBC, as dependências destas classes são marcadas como opcionais.
Se você precisar usar o cache de conexão ou o cache de token, deve adicionar as seguintes bibliotecas ao seu classpath:
Para Mac e Linux:
Para Windows:
O arquivo pom.xml
para o driver JDBC especifica a versão das classes JNA que foram testadas com o driver JDBC. A Snowflake recomenda utilizar esta versão (ou a mesma versão principal) das classes JNA.
Para mais informações, consulte Página do driver JDBC no repositório central do Maven.
Nota
Para sistemas que usam a arquitetura aarch64 (por exemplo, o chip M1 da Apple), use a versão 5.7.0 ou posterior das bibliotecas JNA. (versões JNA anteriores à v5.7.0 não são compatíveis com sistemas Windows e macOS executados em aarch64).