JDBC-Treiber zum Herstellen einer Verbindung zu Spanner Omni verwenden

In diesem Dokument wird beschrieben, wie Sie den Cloud Spanner-JDBC-Treiber verwenden, um Ihre Java-Anwendungen mit Spanner Omni zu verbinden und SQL-Anweisungen auszuführen.

Java Database Connectivity (JDBC) ist eine Standard-Java-API, die Anwendungen eine einheitliche Möglichkeit bietet, mit relationalen Datenbanken zu interagieren. Der Cloud Spanner-JDBC-Treiber funktioniert mit Spanner Omni genauso wie mit Spanner.

Mit dem JDBC-Treiber können Sie standardmäßige JDBC-kompatible Tools und Bibliotheken mit Spanner Omni verwenden.

Cloud Spanner Omni-JDBC-Verbindungen unterstützen Nur-Text, TLS, TLS mit Anmeldedaten und mTLS.

Weitere Informationen finden Sie unter Erste Schritte mit Spanner in JDBC in der Spanner-Dokumentation.

Hinweis

Wenn Sie Spanner Omni mit dem JDBC-Treiber verwenden möchten, verwenden Sie den Cloud Spanner-JDBC-Treiber in Version 2.41.0 oder höher.

Wenn Sie Maven ohne Materialliste (Bill of Materials, BOM) verwenden, fügen Sie den Abhängigkeiten der Datei pom.xml Folgendes hinzu:

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

Hinweise zur Verbindungs-URL

Da Spanner Omni nicht direkt mit einem Google Cloud Projekt verbunden ist, ist die projects/name Komponente in der JDBC-Verbindungs-URL nicht erforderlich. Da jede Spanner Omni-Bereitstellung eine einzelne, bereits erstellte Instanz (instances/default) hat, ist die instances/name Komponente optional.

Wenn Sie den JDBC-Treiber mit Spanner Omni anstelle von Spanner verbinden möchten, fügen Sie der Verbindungs-URL die Eigenschaft ;type=omni hinzu.

Spanner Omni-Verbindung herstellen

In den folgenden Beispielen wird gezeigt, wie Sie für jede unterstützte Sicherheitskonfiguration eine Verbindung mit Spanner Omni über den Cloud Spanner-JDBC-Treiber herstellen:

Nur-Text

Verwenden Sie eine Verbindungs-URL wie die folgende, um eine Nur-Text-Verbindung herzustellen:

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

Wenn Sie eine TLS-Verbindung herstellen möchten, fügen Sie das CA-Zertifikat dem Java-Truststore hinzu oder geben Sie beim Ausführen der Anwendung einen benutzerdefinierten Truststore an, wie unter Java-Truststore konfigurieren beschrieben. Für die JDBC-URL sind keine zusätzlichen Authentifizierungsparameter erforderlich:

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

TLS mit Anmeldedaten

Wenn Sie eine TLS-Verbindung mit Nutzername und Passwortauthentifizierung herstellen möchten, fügen Sie das CA-Zertifikat dem Java-Truststore hinzu, wie unter Java-Truststore konfigurieren beschrieben, und geben Sie die username und password Eigenschaften in der JDBC-URL an:

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

mTLS

Wenn Sie eine mTLS-Verbindung herstellen möchten, fügen Sie das CA-Zertifikat dem Java-Truststore hinzu, wie unter Java-Truststore konfigurieren beschrieben, und geben Sie die Parameter clientCertificate und clientKey in der JDBC-URL an. Der private Clientschlüssel muss im Java-kompatiblen PKCS#8-Format vorliegen, wie in der Anleitung zu mTLS im Java SDK beschrieben:

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