JDBC 드라이버 다운로드/통합하기

JDBC 드라이버(snowflake-jdbc)는 JAR 파일로 제공되며, Maven에서 아티팩트로 사용하여 다운로드하거나 Java 기반 프로젝트에 직접 통합하는 것이 가능합니다.

드라이버를 다운로드하거나 통합하기 전, 우선 현재 사용 중인 드라이버 버전을 확인하는 것이 좋습니다. 드라이버 버전을 확인하려면 드라이버를 사용하는 클라이언트 애플리케이션을 통해 Snowflake에 연결한 후 드라이버 버전을 확인합니다. 애플리케이션이 SQL 쿼리의 실행을 지원하는 경우에는 CURRENT_CLIENT 함수를 호출하여 확인할 수 있습니다.

이 항목의 내용:

요구 사항

Snowflake 클라이언트에서 지원되는 운영 체제 목록은 운영 체제 지원 을 참조하십시오.

드라이버 다운로드하기

드라이버를 다운로드하려면:

  1. Maven Central Repository로 이동:

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

  2. 필요한 버전의 디렉터리를 클릭합니다.

    가장 최신 버전(3.14.4)이 목록의 마지막에 표시되지 않을 수도 있습니다. 버전은 숫자 순서가 아닌 알파벳 순서 로 나열됩니다. 예를 들어, 3.10.x은 3.9.x의 다음이 아닌 3.1.x의 다음에 제공됩니다.

  3. snowflake-jdbc-#.#.#.jar 파일을 다운로드합니다.

    참고

    원하는 경우 다음 명령을 입력하여 JDBC 드라이버 버전을 확인할 수 있습니다.

    java -jar snowflake-jdbc-#.#.#.jar --version. 여기서 #.#.# 는 다운로드한 파일 이름의 버전 번호와 일치합니다.

  4. 드라이버 패키지 서명을 확인할 계획이라면 snowflake-jdbc-#.#.#.jar.asc 파일을 다운로드하십시오.

드라이버 패키지 서명 확인하기 — 선택 사항

JDBC 드라이버 패키지 서명을 확인하는 방법은 다음과 같습니다.

  1. 공개 키 서버에서 자신이 사용 중인 JDBC 드라이버 버전에 대한 Snowflake GPG 공개 키를 다운로드하고 가져옵니다.

    • 버전 3.13.23 이상:

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 630D9F3CAB551AF3
    • 버전 3.12.13부터 3.13.22까지:

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 37C7086698CB005C
    • 버전 3.6.26부터 3.12.12까지:

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys EC218558EABB25A1
    • 버전 3.6.25 이하:

      $ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 93DB296A69BE019A

    참고

    이 명령이 다음 오류와 함께 실패하는 경우:

    gpg: keyserver receive failed: Server indicated a failure
    
    Copy

    그리고 키 서버에 포트 80을 사용하도록 지정합니다.

    gpg --keyserver hkp://keyserver.ubuntu.com:80  ...
    
    Copy
  2. gpg --verify 명령을 실행하여 패키지의 서명을 확인합니다.

    --verify 명령줄 플래그의 경우, 이전에 다운로드한 .asc 파일을 서명 파일로 지정하고 JAR 파일을 서명된 데이터를 포함한 파일로 지정합니다.

    예:

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

    확인하고 있는 JDBC 드라이버 패키지의 올바른 버전 번호를 지정합니다. 3.14.4 버전은 이 예시에서 설명 목적으로만 사용되었습니다. 사용 가능한 드라이버 최신 버전은 더 높을 수 있습니다.

    참고

    서명을 확인하면 다음과 유사한 경고가 표시됩니다.

    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

    경고를 방지하려면, Snowflake GPG 공개 키에 암시적 신뢰를 부여할 수 있습니다.

  3. 로컬 환경에는 여러 개의 GPG 키가 포함될 수 있지만, 보안상의 이유로 Snowflake는 공개 GPG 키를 주기적으로 순환합니다. 가장 좋은 방법은 서명된 최신 패키지에서 최신 키가 작동하는지 확인한 후 기존 공개 키를 삭제하는 것입니다.

    $ gpg --delete-key "Snowflake Computing"
    
    Copy

드라이버를 Maven 프로젝트에 통합하기

드라이버를 Maven 프로젝트에 통합하려면 드라이버를 pom.xml 파일에 종속 항목으로 추가하십시오. 예:

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

여기서 <버전> 태그는 통합할 드라이버의 버전을 지정합니다. 이 예시에서는 3.14.4 버전이 설명 목적으로만 사용되었습니다. 사용 가능한 드라이버 최신 버전은 더 높을 수 있습니다.

개발자 노트는 GitHub 에 소스 코드와 함께 호스팅됩니다.

클래스 경로에 JNA 클래스 추가하기

브라우저 기반 SSO 용 연결 캐싱 및 다단계 인증(MFA)용 토큰 캐싱 을 사용하려면 JNA(Java Native Access) 클래스를 사용하여 데이터를 파일 시스템에 안전하게 저장해야 합니다.

JDBC 드라이버 버전 3.12.18 현재, JNA 클래스는 더 이상 JDBC 드라이버 JAR 파일에 패키징되지 않습니다. JDBC 드라이버 pom.xml 파일에서 이러한 클래스에 대한 종속성은 선택 사항으로 표시됩니다.

연결 캐싱 또는 토큰 캐싱을 사용해야 하는 경우에는 다음 라이브러리를 클래스 경로에 추가해야 합니다.

JDBC Driver용 pom.xml 파일은 JDBC Driver를 사용하여 테스트된 JNA 클래스의 버전을 지정합니다. (Maven Central Repository의 JDBC Driver 페이지 를 참조하십시오.) Snowflake는 이 버전(또는 동일한 주 버전)의 JNA 클래스를 사용하는 것을 권장합니다.

참고

aarch64 아키텍처를 사용하는 시스템(예: Apple M1 칩)에서는 JNA 라이브러리 버전 5.7.0 이상을 사용하십시오. (v5.7.0 이전의 JNA 버전은 Windows 및 macOS arch64에서 실행되는 시스템과 호환되지 않습니다.)