JDBC 드라이버를 사용하여 Spanner Omni에 연결

이 문서에서는 Spanner JDBC 드라이버를 사용하여 Java 애플리케이션을 Spanner Omni에 연결하고 SQL 문을 실행하는 방법을 보여줍니다.

Java Database Connectivity (JDBC)는 애플리케이션이 관계형 데이터베이스와 일관된 방식으로 상호작용할 수 있도록 지원하는 표준 Java API입니다. Spanner JDBC 드라이버는 Spanner에서와 동일한 방식으로 Spanner Omni와 함께 작동합니다.

JDBC 드라이버를 사용하면 Spanner Omni에서 표준 JDBC 호환 도구 및 라이브러리를 활용할 수 있습니다.

Spanner Omni JDBC 연결은 일반 텍스트, TLS, 사용자 인증 정보가 있는 TLS, mTLS를 지원합니다.

자세한 내용은 Spanner 문서의 JDBC에서 Spanner 시작하기 를 참고하세요.

시작하기 전에

JDBC 드라이버와 함께 Spanner Omni를 사용하려면 Spanner JDBC 드라이버 버전 2.41.0 이상을 사용하세요.

BOM (Bill of Materials) 없이 Maven을 사용하는 경우 pom.xml 파일 종속 항목에 다음을 추가합니다.

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-spanner-jdbc</artifactId>
  <version>2.41.0</version>
</dependency>

연결 URL 고려사항

Spanner Omni는 프로젝트에 직접 연결되지 않으므로 JDBC 연결 URL에 projects/name Google Cloud 구성요소가 필요하지 않습니다. 마찬가지로 각 Spanner Omni 배포에는 이미 생성된 단일 인스턴스 (instances/default)가 있으므로 instances/name 구성요소는 선택사항입니다.

Spanner 대신 Spanner Omni에 JDBC 드라이버를 연결하려면 연결 URL에 ;type=omni 속성을 추가합니다.

Spanner Omni 연결 설정

다음 예에서는 지원되는 각 보안 구성에 대해 Spanner JDBC 드라이버를 사용하여 Spanner Omni와의 연결을 설정하는 방법을 보여줍니다.

일반 텍스트

일반 텍스트 연결을 설정하려면 다음과 유사한 연결 URL을 사용합니다.

String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;usePlainText=true;type=omni";
try (java.sql.Connection connection = DriverManager.getConnection(url)) {
  try (ResultSet rs = connection.createStatement().executeQuery("SELECT * FROM Singers")) {
    while (rs.next()) {
      System.out.print(rs.getLong(1) + "\t");
      System.out.println(rs.getString(2));
    }
  }
} catch (Exception e) {
  System.out.println(e.getMessage());
}

TLS

TLS 연결을 설정하려면 Java 트러스트 저장소에 CA 인증서를 추가하거나 애플리케이션을 실행할 때 맞춤 트러스트 저장소를 지정합니다(Java 트러스트 저장소 구성 참고). JDBC URL에는 추가 인증 매개변수가 필요하지 않습니다.

String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni";

사용자 인증 정보가 있는 TLS

사용자 이름 및 비밀번호 인증으로 TLS 연결을 설정하려면 Java 신뢰 저장소 구성에 설명된 대로 Java 신뢰 저장소에 CA 인증서를 추가하고 JDBC URL에 usernamepassword 속성을 지정합니다.

String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni;username=USERNAME;password=PASSWORD";

mTLS

mTLS 연결을 설정하려면 Java 신뢰 저장소 구성에 설명된 대로 Java 신뢰 저장소에 CA 인증서를 추가하고 JDBC URL에 clientCertificateclientKey 매개변수를 지정합니다. 클라이언트 비공개 키는 Java SDK mTLS 안내에 설명된 대로 Java 호환 PKCS#8 형식이어야 합니다.

String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni;clientCertificate=PATH_TO_CLIENT_CERT;clientKey=PATH_TO_CLIENT_KEY";