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 SieJDK8u162
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
- 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. - Ä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"
- DB_USER: Sie können
- Ä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
-
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 Dateiwallet.zip
und ihren Inhalt, um einen nicht autorisierten Datenbankzugriff zu verhindern. - 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 SieJDK8u162
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
- 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. - Ä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"
- DB_USER: Sie können
- Änderungen an der Datei
ADBQuickStart.java
speichern.
Vorgehensweise
Sie können mit IntelliJ und entweder Maven oder Gradle eine Verbindung zu Autonomous Database herstellen.
- Erstellen Sie ein Maven-Projekt.
- Klicken Sie im Menü Datei auf Neu und dann auf Projekt.
- Wählen Sie auf der linken Seite Maven aus, und wählen Sie die neueste JDK-Version als Projekt-SDK aus.
- Klicken Sie auf Weiter.
- Geben Sie Name als ADBQuickstart an.
- Erstellen Sie die Datei
ADBQuickStart.java
.- Klicken Sie mit der rechten Maustaste auf
src/main/java
. - Wählen Sie Neu, Java-Klasse aus.
- 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.
- Klicken Sie mit der rechten Maustaste auf
- Ä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 mitucp.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>
- 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.
- 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 Dateitnsnames.ora
, um einen HTTPS-Proxy zu verwenden.
- 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
- Kopieren Sie die Datei ADBQuickStart.java in das Verzeichnis
src/main/java/com/oracle/jdbctest
. - Ä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 mitucp.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 }
- Fügen Sie
- 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
- 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 Dateitnsnames.ora
, um einen HTTPS-Proxy zu verwenden.