SQL Server용 Microsoft JDBC Driver의 기능 종속성

JDBC 드라이버 다운로드

이 문서에는 SQL Server용 Microsoft JDBC Driver가 종속된 라이브러리가 나열되어 있습니다. 프로젝트에는 다음과 같은 종속성이 있습니다.

컴파일 시간

  • Always Encrypted Azure Key Vault 기능의 경우 com.azure:azure-security-keyvault-keys: JDBC 드라이버 버전 9.2 이상을 위한 KeyVault 키용 Microsoft Azure 클라이언트 라이브러리 또는 com.microsoft.azure:azure-keyvault: JDBC 드라이버 버전 8.4 이하를 위한 Key Vault용 Microsoft Azure SDK. (선택 사항)
  • Microsoft Entra 인증 기능과 Azure Key Valut 기능의 경우 com.azure:azure-identity: Microsoft Azure Client Library For Identity for JDBC 드라이버 버전 9.2 이상 또는 com.microsoft.azure:adal4j: Microsoft Entra Authentication Library for JDBC 드라이버 버전 8.4 이하 (선택 사항)
  • com.microsoft.azure:msal4j: Java용 MSAL(Microsoft 인증 라이브러리). (선택 사항)
  • org.antlr:antlr4-runtime: useFmtOnly 기능에 대한 ANTLR 4 런타임입니다. (선택 사항)
  • org.osgi:org.osgi.core: OSGi Framework 지원을 위한 OSGi Core 라이브러리
  • org.osgi:org.osgi.service.jdbc: JDBC용 OSGi 도우미 코드입니다.
  • com.google.code.gson: 보안 enclave 기능을 사용하는 Always Encrypted용 JSON 파서입니다. (선택 사항)
  • org.bouncycastle.bcprov-jdk18on: JAVA 8 전용 보안 Enclave 기능을 사용한 Always Encrypted에 대한 Bouncy Castle Provider. (선택 사항)

실행 시간

이전 기능을 필요로 하는 프로젝트는 사용된 드라이버 버전의 종속성과 일치하는 각각의 종속성을 프로젝트의 POM 파일에 명시적으로 선언해야 합니다.

예: JDBC 드라이버 버전 10.2 이상에서 Microsoft Entra 인증 기능을 사용하는 경우에는 프로젝트의 POM 파일에 azure-identity 종속성을 선언해야 합니다. 다음 코드 조각을 확인합니다.

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>10.2.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.4.3</version>
</dependency>

예: JDBC 드라이버 버전 8.4 이하와 함께 Microsoft Entra 인증 기능을 사용하는 경우에는 프로젝트의 POM 파일에 adal4jclient-runtimes 종속성을 선언해야 합니다. 다음 코드 조각을 확인합니다.

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.4.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>adal4j</artifactId>
    <version>1.6.5</version>
</dependency>

<dependency>
    <groupId>com.microsoft.rest</groupId>
    <artifactId>client-runtime</artifactId>
    <version>1.7.4</version>
</dependency>

예: JDBC 드라이버 버전 10.2 이상에서 Azure Key Vault 기능을 사용하는 경우에는 프로젝트의 POM 파일에 azure-security-keyvault-keysazure-identity 종속성을 선언해야 합니다. 다음 코드 조각을 확인합니다.

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>10.2.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.4.3</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-security-keyvault-keys</artifactId>
    <version>4.3.6</version>
</dependency>

예: JDBC 드라이버 버전 8.4 이하에서 Azure Key Vault 기능을 사용하는 경우에는 프로젝트의 POM 파일에 azure-keyvault, adal4j, client-runtime 종속성을 선언해야 합니다. 다음 코드 조각을 확인합니다.

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.4.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>adal4j</artifactId>
    <version>1.6.5</version>
</dependency>

<dependency>
    <groupId>com.microsoft.rest</groupId>
    <artifactId>client-runtime</artifactId>
    <version>1.7.4</version>
</dependency>

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-keyvault</artifactId>
    <version>1.2.4</version>
</dependency>

참고 항목

사용 중인 JDBC 드라이버 버전과 함께 제공되는 POM 파일의 버전을 사용해야 합니다. 종속성 및 버전이 변경되었을 수 있습니다.

Maven을 사용하여 프로젝트를 빌드하거나 테스트하는 경우, Maven은 POM 파일의 종속 라이브러리를 전이적 라이브러리와 함께 자동으로 다운로드합니다. Maven 종속성 플러그 인을 사용하여 모든 프로젝트 종속성을 원하는 위치에 다운로드할 수도 있습니다. Maven을 사용하지 않으면 종속성 및 전이적 종속성을 수동으로 다운로드하여 각 라이브러리의 올바른 버전이 모두 있는지 확인해야 합니다. 필요한 종속 라이브러리를 다운로드했으면 프로젝트 클래스 경로에 추가하여 애플리케이션을 실행합니다.

JDBC 드라이버 종속성 요구 사항

Azure Key Vault 공급자 사용

  • JDBC 드라이버 버전 12.6.0 — 종속성 버전: Azure-security-keyvault-keys(버전 4.7.3), Azure-identity(버전 1.11.1), 해당 종속성(샘플 애플리케이션)
  • JDBC 드라이버 버전 12.4.0 — 종속성 버전: Azure-security-keyvault-keys(버전 4.6.1), Azure-identity(버전 1.9.0), 해당 종속성(샘플 애플리케이션)
  • JDBC 드라이버 버전 12.2.0 — 종속성 버전: Azure-security-keyvault-keys(버전 4.5.3), Azure-identity(버전 1.7.0), 해당 종속성(샘플 애플리케이션)
  • JDBC 드라이버 버전 11.2.0 — 종속성 버전: Azure-security-keyvault-keys(버전 4.4.1), Azure-identity(버전 1.5.0), 해당 종속성(샘플 애플리케이션)
  • JDBC 드라이버 버전 10.2.0 — 종속성 버전: Azure-security-keyvault-keys(버전 4.3.6), Azure-identity(버전 1.4.3), 해당 종속성(샘플 애플리케이션)
  • JDBC 드라이버 버전 9.4.1 — 종속성 버전: Azure-security-keyvault-keys(버전 4.2.8), Azure-identity(버전 1.3.3), 해당 종속성(샘플 애플리케이션)
  • JDBC 드라이버 버전 9.2.1 — 종속성 버전: Azure-security-keyvault-keys(버전 4.2.1), Azure-identity(버전 1.1.3), 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 8.4.1 — 종속성 버전: Azure-Keyvault(버전 1.2.4), Adal4j(버전 1.6.5), Client-Runtime-for-AutoRest(버전 1.7.4) 및 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 8.2.2 — 종속성 버전: Azure-Keyvault(버전 1.2.2), Adal4j(버전 1.6.4), Client-Runtime-for-AutoRest(버전 1.7.0) 및 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 7.4.1 — 종속성 버전: Azure-Keyvault(버전 1.2.1), Adal4j(버전 1.6.4), Client-Runtime-for-AutoRest(버전 1.6.10) 및 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 7.2.2 — 종속성 버전: Azure-keyvault(버전 1.2.0), Azure Keyvault Webkey(버전 1.2.0), Adal4j(버전 1.6.3), Client-Runtime-for-AutoRest(1.6.5) 및 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 7.0.0 — 종속성 버전: Azure-Keyvault(버전 1.0.0), Adal4j(버전 1.6.0) 및 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 6.4.0 — 종속성 버전: Azure-Keyvault(버전 1.0.0), Adal4j(버전 1.4.0) 및 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 6.2.2 — 종속성 버전: Azure-Keyvault(버전 1.0.0), Adal4j(버전 1.4.0) 및 해당 종속성(샘플 애플리케이션)
  • JDBC Driver 버전 6.0.0 — 종속성 버전: Azure-Keyvault(버전 0.9.7), Adal4j(버전 1.3.0) 및 해당 종속성(샘플 애플리케이션)

참고 항목

6.2.2 및 6.4.0 드라이버 버전에서는 azure-keyvault-java 종속성 버전이 버전 1.0.0으로 업데이트되었습니다. 그러나 새 버전은 이전 버전(0.9.7)과 호환되지 않으며 드라이버의 기존 구현을 중단합니다. 드라이버의 새 구현에는 API 변경이 필요했으며, 이로 인해 Azure Key Vault 공급자를 사용하는 클라이언트 프로그램이 중단되었습니다.

이 문제는 최신 드라이버 버전(7.0.0 이상)으로 해결됩니다. 인증 콜백 메커니즘을 사용한 제거된 생성자는 이전 버전과의 호환성을 위해 Azure Key Vault 공급자에 다시 추가됩니다.

Microsoft Entra 인증으로 작업

  • JDBC 드라이버 버전 12.6.0 — 종속성 버전: Azure-identity(버전 1.11.1), Msal4j(버전 1.14.1) 및 해당 종속성.
  • JDBC 드라이버 버전 12.4.0 — 종속성 버전: Azure-identity(버전 1.9.0), Msal4j(버전 1.13.8) 및 해당 종속성.
  • JDBC 드라이버 버전 12.2.0 — 종속성 버전: Azure-identity(버전 1.7.0), Msal4j(버전 1.13.3) 및 해당 종속성.
  • JDBC 드라이버 버전 11.2.0 — 종속성 버전: Azure-identity(버전 1.5.0) 및 해당 종속성.
  • JDBC 드라이버 버전 10.2.0 — 종속성 버전: Azure-identity(버전 1.4.3) 및 해당 종속성.
  • JDBC 드라이버 버전 9.4.1 — 종속성 버전: Azure-identity(버전 1.3.3) 및 해당 종속성.
  • JDBC 드라이버 버전 9.2.1 — 종속성 버전: Azure-identity(버전 1.1.3) 및 해당 종속성.
  • JDBC Driver 버전 8.4.1 — 종속성 버전: Adal4j(버전 1.6.5), Client-Runtime-for-AutoRest(1.7.4) 및 해당 종속성
  • JDBC Driver 버전 8.2.2 — 종속성 버전: Adal4j(버전 1.6.4), Client-Runtime-for-AutoRest(1.7.0) 및 해당 종속성 이 버전의 드라이버에서 sqljdbc_auth.dllmssql-jdbc_auth-\<version>-\<arch>.dll로 바뀌었습니다.
  • JDBC Driver 버전 7.4.1 — 종속성 버전: Adal4j(버전 1.6.4), Client-Runtime-for-AutoRest(1.6.10) 및 해당 종속성
  • JDBC Driver 버전 7.2.2 — 종속성 버전: Adal4j(버전 1.6.3), Client-Runtime-for-AutoRest(1.6.5) 및 해당 종속성
  • JDBC Driver 버전 7.0.0 — 종속성 버전: Adal4j(버전 1.6.0) 및 해당 종속성
  • JDBC Driver 버전 6.4.0 — 종속성 버전: Adal4j(버전 1.4.0) 및 해당 종속성
  • JDBC Driver 버전 6.2.2 — 종속성 버전: Adal4j(버전 1.4.0) 및 해당 종속성
  • JDBC Driver 버전 6.0.0 — 종속성 버전: Adal4j(버전 1.3.0) 및 해당 종속성 이 버전의 드라이버에서는 Windows 운영 체제의 ActiveDirectoryIntegrated 인증 모드만 사용하여 연결하고 sqljdbc_auth.dll 및 SQL Server용 Active Directory 인증 라이브러리(ADALSQL.DLL)를 사용하여 연결할 수 있습니다.

드라이버 버전 6.4.0부터 애플리케이션은 반드시 Windows 운영 체제에서 ADALSQL.DLL 사용할 필요가 없습니다. 비 Windows 운영 체제의 경우 드라이버는 ActiveDirectoryIntegrated 인증을 사용하려면 Kerberos 티켓이 필요합니다. Kerberos를 사용하여 Active Directory에 연결하는 방법에 대한 자세한 내용은 Windows, Linux 및 macOS에서 Kerberos 티켓 설정을 참조하세요.

Windows 운영 체제의 경우 드라이버는 기본적으로 sqljdbc_auth.dll 찾으며 Kerberos 티켓 설정 또는 Azure 라이브러리 종속성이 필요하지 않습니다. sqljdbc_auth.dll을 사용할 수 없으면 드라이버는 다른 운영 체제에서처럼 Active Directory에 인증하기 위해 Kerberos 티켓을 찾습니다.

드라이버 버전 8.2.2부터 sqljdbc_auth.dllmssql-jdbc_auth-\<version>-\<arch>.dll로 바뀝니다. 예들 들어 mssql-jdbc_auth-8.2.2.x64.dll입니다.

Active Directory 통합 인증을 이용하려면 mssql-jdbc_auth-<version>-<arch>.dll(JDBC 드라이버 패키지에서 사용 가능)에 더해 Azure Active Directory 인증 라이브러리(ADAL.DLL)도 설치해야 합니다. Microsoft Azure Active Directory 인증 라이브러리는 Microsoft ODBC Driver for SQL Server 또는 Microsoft OLE DB Driver for SQL Server에서 설치할 수 있습니다. JDBC 드라이버는 ADAL.DLL에 대해 버전 1.0.2028.318 이상만 지원합니다.

이 기능을 사용하는 샘플 애플리케이션을 가져올 수 있습니다.

참고 항목

JDBC Driver GitHub 리포지토리
JDBC Driver API 참조