Verbindung zu Oracle Autonomous Database mit JDBC mit IntelliJ herstellen

Sie können mit der IDE IntelliJ 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 zu einem autonomen Exadata-VM-Cluster 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 IntelliJ 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 Projekt.
    2. Wählen Sie auf der linken Seite Maven aus, und wählen Sie die neueste JDK-Version als Projekt-SDK aus.
    3. Klicken Sie auf Weiter.
    4. Geben Sie Name als ADBQuickstart an.
  2. Erstellen Sie die Datei ADBQuickStart.java.
    1. Klicken Sie mit der rechten Maustaste auf src/main/java.
    2. Wählen Sie Neu, Java-Klasse aus.
    3. Geben Sie com.oracle.jdbctest.ADBQuickStart.java ein. Dadurch wird auch die erforderliche Paketstruktur erstellt. Stellen Sie sicher, dass Sie den Inhalt der Datei ADBQuickstart.java in diese neue Datei 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 eine ADB QuickStart, und führen Sie sie aus. Kompilieren Sie den Java-Code, indem Sie mit der rechten Maustaste auf ADBQuickStart.java klicken und dann auf Modul ADBQuickStart erstellen klicken. Stellen Sie sicher, dass kein Kompilierungsfehler im Java-Code vorhanden ist und Sie die neueste JDK-Version verwenden.
  5. Führen Sie das Java-Beispielprogramm aus. Klicken Sie mit der rechten Maustaste auf ADBQuickStart.java und dann auf ADBQuickStart.main() ausführen. Geben Sie das Datenbankkennwort auf der Konsole ein.

    Beispielausgabe:

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



Hinweis:

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 clientseitigem 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 Bildschirm 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.