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 integrando-se diretamente em seus projetos baseados em Java.

Antes de baixar ou integrar o driver, você pode verificar primeiro a versão do driver que está usando. 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.

Download do driver

Para baixar o driver:

  1. Vá para o Repositório central Maven:

    https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc

  2. Clique no diretório para a versão de que você precisa.

    A versão mais recente (3.14.4) 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.

  3. Baixe o arquivo snowflake-jdbc-#.#.#.jar.

    Nota

    Se desejar, 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.

  4. Se você planeja verificar a assinatura do pacote de driver, baixe o arquivo snowflake-jdbc-#.#.#.jar.asc.

Verificação da assinatura do pacote de driver — Opcional

Para verificar a assinatura do pacote de driver JDBC:

  1. 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.13.23 e superior:

      $ 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
    
    Copy

    depois especifique que você deseja usar a porta 80 para o servidor de chaves:

    gpg --keyserver hkp://keyserver.ubuntu.com:80  ...
    
    Copy
  2. 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.14.4.jar.asc snowflake-jdbc-3.14.4.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.14.4 é 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.
    
    Copy

    Para evitar o aviso, você pode conceder confiança implícita à chave pública GPG do Snowflake.

  3. 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"
    
    Copy

Integração do driver em um projeto Maven

Para integrar o driver em um projeto Maven, adicione o driver como uma dependência ao seu arquivo pom.xml. Por exemplo:

<dependencies>
  ...
  <dependency>
    <groupId>net.snowflake</groupId>
    <artifactId>snowflake-jdbc</artifactId>
    <version>3.14.4</version>
  </dependency>
  ...
</dependencies>

Onde a tag de <versão> especifica a versão do driver que você deseja integrar. Observe que a versão 3.14.4 é usada neste exemplo apenas para fins ilustrativos. A última versão disponível do driver pode ser mais alta.

As notas do desenvolvedor são hospedadas junto com o código fonte em GitHub.

Adição de classes JNA a 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:

O arquivo pom.xml para o driver JDBC especifica a versão das classes JNA que foram testadas com o driver JDBC. (Consulte a página do driver JDBC no repositório central Maven.) Recomendamos utilizar esta versão (ou a mesma versão principal) das classes JNA.

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).