Verbindung zu Oracle Autonomous Database mit JDBC mit Eclipse herstellen

Mit der Eclipse-IDE können Sie eine Verbindung zu Oracle Autonomous Database herstellen. Die folgenden Abschnitte enthalten Informationen dazu, wie Sie zuerst eine Verbindung zu Oracle Autonomous Database mit einem Maven-Projekt oder einem Gradle-Projekt herstellen. Stellen Sie sicher, dass Sie die unter "Voraussetzungen" beschriebenen Schritte ausgeführt haben, bevor Sie eine Verbindung zu Oracle Autonomous Database herstellen.

Voraussetzungen

Die folgenden Abschnitte enthalten Informationen zu den Aufgaben, die Sie ausführen müssen, bevor Sie Ihre Java-Anwendungen mit dem Oracle JDBC-Treiber und dem Universal Connection Pool mit Oracle Autonomous Database verbinden. Prüfen Sie die entsprechenden Voraussetzungen je nach Authentifizierungstyp, der beim Provisioning des autonomen Exadata-VM-Clusters (AVMC) ausgewählt wurde. Standardmäßig sind einseitige TLS-Verbindungen aktiviert, wenn Sie einen AVMC bereitstellen. Weitere Informationen finden Sie unter Autonomous Exadata-VM-Cluster erstellen.

Den Authentifizierungstyp finden Sie auf der Seite "Details" Ihres AVMC. Anweisungen finden Sie unter Details eines autonomen Exadata-VM-Clusters anzeigen.

Oracle Autonomous Database-Instanz bereitstellen

Sie benötigen Zugriff auf eine Oracle Autonomous Database. Informationen hierzu finden Sie unter Bevor Sie mit Autonomous Database on Dedicated Exadata Infrastructure beginnen, wenn Sie noch keine bereitgestellt haben.

Merken Sie sich das Kennwort, das Sie für den Benutzer ADMIN verwendet haben. Zu Demonstrationszwecken verwenden wir den Benutzer ADMIN. Es wird jedoch empfohlen, andere Datenbankbenutzer entweder mit Oracle SQL Developer oder Database Actions zu erstellen.

JDK 8 installieren

Laden Sie die neuesten JDK 8- oder höheren JDK-Versionen herunter.

Hinweis:

Stellen Sie sicher, dass Sie JDK8u162 oder eine höhere Version verwenden. Verwenden Sie java -version, um die installierte JDK-Version zu prüfen. Um die JDBC-Treiberversion zu prüfen, geben Sie java -jar ojdbc8.jar ein.

Laden Sie ein Beispielprogramm von Github herunter

  1. Laden Sie die Datei ADBQuickStart.java von Github herunter. Diese Beispielanwendung verwendet das Beispielschema "Vertriebshistorie" (SH) und zeigt 20 Datensätze aus der Tabelle SH.CUSTOMERS an.
  2. Ändern Sie die Datei ADBQuickStart.java so, dass sie Ihre Oracle Autonomous Database-Verbindungsinformationen enthält:
    • DB_USER: Sie können ADMIN verwenden, den Benutzer, der standardmäßig erstellt wird, wenn Oracle Autonomous Database erstellt wird (wenn Sie einen anderen OracleAutonomous Database-Benutzer erstellen, können Sie diesen Benutzer stattdessen verwenden).
    • DB_PASSWORD: Verwenden Sie das Kennwort des Datenbankbenutzers. If connecting as the ADMIN user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database. Aus Sicherheitsgründen müssen Sie das Kennwort über die Konsole eingeben, wenn Sie das Beispiel ausführen.
    • DB_URL: Rufen Sie die Verbindungszeichenfolge für Autonomous Database ab, indem Sie die Anweisungen unter Verbindungszeichenfolgen für eine Autonomous Database anzeigen befolgen. Wenn Sie direkt im Java-Programm verwenden, müssen Sie " in der Verbindungszeichenfolge mit \" maskieren

    Eine Beispiel-Schnellstart-Java-Datei sieht folgendermaßen aus:

    DB_URL = "jdbc:oracle:thin:@jdbc:oracle:thin:@(description=
          (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=g13ec47eade81f7_demodb_low.adb.oraclecloud.com))(security=(ssl_server_cert_dn=\"CN=adb.us-sanjose-1.oraclecloud.com,
          OU=Oracle ADB SANJOSE, O=Oracle Corporation, L=Redwood City, ST=California,
          C=US\")))"
    DB_USER="ADMIN" and DB_PASSWORD="your_password"
  3. Änderungen an der Datei ADBQuickStart.java speichern.

Fehlerbehebung und Debugging: Wenn Fehler auftreten, finden Sie auf der Seite Tipps zur Fehlerbehebung hilfreiche Hinweise.

Oracle Autonomous Database-Instanz bereitstellen

Sie benötigen Zugriff auf eine Oracle Autonomous Database. Informationen hierzu finden Sie unter Bevor Sie mit Autonomous Database on Dedicated Exadata Infrastructure beginnen, wenn Sie noch keine bereitgestellt haben.

Merken Sie sich das Kennwort, das Sie für den Benutzer ADMIN verwendet haben. Zu Demonstrationszwecken verwenden wir den Benutzer ADMIN. Es wird jedoch empfohlen, andere Datenbankbenutzer entweder mit Oracle SQL Developer oder Database Actions zu erstellen.

Clientzugangsdaten abrufen

  1. Laden Sie eine Wallet-Datei von der Autonomous Database-Instanz herunter, um eine ZIP-Datei mit den Clientsicherheitszugangsdaten und den Netzwerkkonfigurationseinstellungen für den Zugriff auf eine Autonomous Database-Instanz zu erhalten.

    Ermitteln Sie die Sicherheitszugangsdaten des Clients (Datei wallet.zip):

    • ADMIN-Benutzer: Klicken Sie in der Oracle Cloud Infrastructure-Konsole auf Datenbankverbindung. Siehe Clientzugangsdaten herunterladen.
    • Sonstiger Benutzer (kein Administrator): Beziehen Sie das Oracle Wallet vom Administrator für die Autonomous Database-Instanz.

    Hinweis:

    Schützen Sie die Datei wallet.zip und ihren Inhalt, um einen nicht autorisierten Datenbankzugriff zu verhindern.
  2. Dekomprimieren Sie die Clientzugangsdatendatei (wallet.zip).

JDK 8 installieren

Laden Sie die neuesten JDK 8- oder höheren JDK-Versionen herunter.

Hinweis:

Stellen Sie sicher, dass Sie JDK8u162 oder eine höhere Version verwenden. Verwenden Sie java -version, um die installierte JDK-Version zu prüfen. Um die JDBC-Treiberversion zu prüfen, geben Sie java -jar ojdbc8.jar ein.

Laden Sie ein Beispielprogramm von Github herunter

  1. Laden Sie die Datei ADBQuickStart.java von Github herunter. Diese Beispielanwendung verwendet das Beispielschema "Vertriebshistorie" (SH) und zeigt 20 Datensätze aus der Tabelle SH.CUSTOMERS an.
  2. Ändern Sie die Datei ADBQuickStart.java so, dass sie Ihre Oracle Autonomous Database-Verbindungsinformationen enthält:
    • DB_USER: Sie können ADMIN verwenden, den Benutzer, der standardmäßig erstellt wird, wenn Oracle Autonomous Database erstellt wird (wenn Sie einen anderen OracleAutonomous Database-Benutzer erstellen, können Sie diesen Benutzer stattdessen verwenden).
    • DB_PASSWORD: Verwenden Sie das Kennwort des Datenbankbenutzers. If connecting as the ADMIN user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database. Aus Sicherheitsgründen müssen Sie das Kennwort über die Konsole eingeben, wenn Sie das Beispiel ausführen.
    • DB_URL: Geben Sie den Net Service-Namen (TNS-Alias) DBName_medium ein, wobei DBName der Oracle Autonomous Database-Name ist, der während des Schritts Autonomous Database erstellen beim Provisioning von Oracle Autonomous Database eingegeben wurde. Die verfügbaren Net Service-Namen sind in der Datei tnsnames.ora zu sehen, die Teil der ZIP-Datei mit den Clientzugangsdaten ist.

      TNS_ADMIN muss auf den Speicherort verweisen, in dem Sie die Clientzugangsdaten von Oracle Autonomous Database dekomprimiert haben.

    Eine Beispiel-Schnellstart-Java-Datei sieht folgendermaßen aus:

    DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName" DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"
  3. Änderungen an der Datei ADBQuickStart.java speichern.

Vorgehensweise

Sie können mit Eclipse und entweder Maven oder Gradle eine Verbindung zu Autonomous Database herstellen.

  1. Erstellen Sie ein Maven-Projekt.
    1. Klicken Sie im Menü Datei auf Neu und dann auf Neues Maven-Projekt. Sie können entweder den maven-Archetyp verwenden oder Ein einfaches Projekt erstellen (Archetypauswahl überspringen) auswählen.
    2. Wählen Sie GAV für Ihr Maven-Projekt. Diese werden in der Datei pom.xml für das Projekt angezeigt.
      • Gruppen-ID: com.oracle
      • Artefakt-ID: ADBquickstart
      • Version: Übernehmen Sie 0.0.1-SNAPSHOT
  2. Erstellen Sie die Datei ADBQuickStart.java.
    1. Klicken Sie mit der rechten Maustaste auf src/main/java, wählen Sie Neu aus, und wählen Sie Klasse aus.
    2. Geben Sie die folgenden Werte ein, und klicken Sie auf Fertig stellen.
      • Package: com.oracle.jdbctest
      • Name: ADBQuickStart

      Hinweis:

      Achten Sie darauf, den Inhalt der Datei ADBQuickStart.java in die neu erstellte Datei zu kopieren.
  3. Ändern Sie die Datei pom.xml mit den folgenden Änderungen: Fügen Sie den Oracle JDBC-Treiber als Abhängigkeit hinzu.

    ojdbc8-production lädt den Oracle JDBC-Treiber (ojdbc8.jar) zusammen mit ucp.jar (erforderlich für die Verwendung von UCP als clientseitiger Verbindungspool), oraclepki.jar, osdt_core.jar, osdt_cert.jar herunter. Diese JARs sind für die Verwendung von Oracle Wallets bei der Verbindung mit Oracle Autonomous Database erforderlich.

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    <dependencies>
      <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc8-production</artifactId>
        <version>19.18.0.0</version>
        <type>pom</type>
      </dependency>
    </dependencies>
  4. Erstellen Sie ein Java-Beispielprogramm, und führen Sie es aus. Stellen Sie sicher, dass kein Kompilierungsfehler im Java-Code vorhanden ist und Sie die neueste JDK-Version verwenden. Klicken Sie mit der rechten Maustaste auf ADBQuickStart.java. Klicken Sie auf Ausführen als und dann auf Java-Anwendung, um das Java-Beispielprogramm auszuführen. Sie werden zur Eingabe des Datenbankkennworts aufgefordert.

    Nachdem Sie das Kennwort eingegeben haben, werden die Ergebnisse angezeigt.

    Beispielausgabe:

    Die abgefragten Zeilen werden zusammen mit einer Erfolgsmeldung angezeigt, wie im folgenden Fenster dargestellt:



    Hinweis:

    Wenn Sie von einer Firewall aus eine Verbindung zu Oracle Autonomous Database herstellen, tritt wahrscheinlich ein Verbindungstimeoutfehler auf. Stellen Sie sicher, dass Sie sich außerhalb der Firewall befinden, während Sie dieses Beispiel ausführen, oder aktualisieren Sie die Datei tnsnames.ora, um einen HTTPS-Proxy zu verwenden.
  1. Befolgen Sie die Anweisungen im Gradle-Handbuch zum Herunterladen und Erstellen von Gradle, und legen Sie die PATH-Variable fest, bevor Sie Gradle-Befehle verwenden. Erstellen Sie als ersten Schritt ein Gradle-Projekt mit dem folgenden Befehl. Wählen Sie 2:application für Typ des zu generierenden Projekts auswählen aus. Verwenden Sie außerdem für Quellpaket (Standard:temp): com.oracle.jdbctest.
    gradle init
  2. Kopieren Sie die Datei ADBQuickStart.java in das Verzeichnis src/main/java/com/oracle/jdbctest.
  3. Ändern Sie die Datei build.gradle mit den folgenden Änderungen:
    • Fügen Sie mavenCentral() als Repository hinzu.
    • Fügen Sie einen Oracle JDBC-Treiber als Abhängigkeit hinzu.

      Hinweis:

      ojdbc8-production lädt den Oracle JDBC-Treiber (ojdbc8.jar) zusammen mit ucp.jar (erforderlich für die Verwendung von UCP als clientseitiger Verbindungspool), oraclepki.jar, osdt_core.jar, osdt_cert.jar herunter. Diese JARs sind für die Verwendung von Oracle Wallets beim Herstellen einer Verbindung zu Oracle Autonomous Database erforderlich.

      Weitere Informationen finden Sie im Handbuch zu Maven Central.

    • Aktualisieren Sie mainClassName in ADBQuickStart.
    • Fügen Sie einen run-Block hinzu, um das Kennwort aus der Konsole zu lesen.
      repositories { 
        // Maven Central
         mavenCentral()
       } 
      dependencies { 
        // Get the 19.18.0.0 Oracle JDBC driver along with other companion jars
        implementation("com.oracle.database.jdbc:ojdbc8-production:19.18.0.0")
       }
      application { 
        // Define the main class for the application
        mainClassName ='{your_project_directory}.ADBQuickStart' 
      } 
      // To pause to read the password from console
      run {
        standardInput = System.in
      }
  4. Erstellen Sie eine Gradle-Anwendung. Stellen Sie sicher, dass Sie sich im Verzeichnis befinden, in dem die Datei build.gradle vorhanden ist. Kompilieren Sie den Java-Code mit dem folgenden Befehl:
    ./gradlew build
  5. Führen Sie das Java-Beispielprogramm aus.
    ./gradlew run

    Beispielausgabe:

    Die abgefragten Zeilen werden zusammen mit einer Erfolgsmeldung angezeigt, wie im folgenden Fenster dargestellt:



Hinweis:

Wenn Sie von einer Firewall aus eine Verbindung zu Oracle Autonomous Database herstellen, tritt wahrscheinlich ein Verbindungstimeoutfehler auf. Stellen Sie sicher, dass Sie sich außerhalb der Firewall befinden, während Sie dieses Beispiel ausführen, oder aktualisieren Sie die Datei tnsnames.ora, um einen HTTPS-Proxy zu verwenden.