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 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 Eclipse 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 Neues Maven-Projekt. Sie können entweder den maven-Archetyp verwenden oder Ein einfaches Projekt erstellen (Archetypauswahl überspringen) auswählen.
- 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
- Gruppen-ID:
- Erstellen Sie die Datei
ADBQuickStart.java
.- Klicken Sie mit der rechten Maustaste auf
src/main/java
, wählen Sie Neu aus, und wählen Sie Klasse aus. - 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. - Package:
- 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 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 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 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 }
- 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 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 Dateitnsnames.ora
, um einen HTTPS-Proxy zu verwenden.