Connettersi a Oracle Database utilizzando JDBC senza uno strumento di build

È possibile stabilire manualmente una connessione a Oracle Autonomous Database senza alcun strumento di build.

Prerequisiti

Le sezioni riportate di seguito forniscono informazioni sui task da eseguire prima di connettere le applicazioni Java a Oracle Autonomous Database utilizzando il driver JDBC Oracle e l'Universal Connection Pool. Fare riferimento ai prerequisiti appropriati in base al tipo di autenticazione selezionato durante il provisioning del cluster VM Autonomous Exadata (AVMC). Per impostazione predefinita, le connessioni TLS unidirezionali vengono abilitate quando si esegue il provisioning di un AVMC. Per ulteriori informazioni, vedere Creare un cluster VM Autonomous Exadata.

Puoi trovare il tipo di autenticazione nella pagina Dettagli del tuo AVMC. Per istruzioni, vedere Visualizzare i dettagli di un cluster VM Autonomous Exadata.

Eseguire il provisioning di un'istanza Oracle Autonomous Database

È necessario accedere a un Oracle Autonomous Database. Fare riferimento a Prima di iniziare con Autonomous Database sull'infrastruttura Exadata dedicata se non ne è già stato eseguito il provisioning.

Ricordare la password utilizzata per l'utente ADMIN. A scopo dimostrativo, utilizzeremo l'utente ADMIN, ma il nostro suggerimento è quello di creare altri utenti del database utilizzando Oracle SQL Developer o Database Actions.

Installa JDK 8

Scaricare l'ultima versione di JDK 8 o versioni JDK superiori.

Nota

Assicurarsi di utilizzare JDK8u162 o una versione successiva. Utilizzare java -version per controllare la versione del JDK installata. Per controllare la versione del driver JDBC, digitare java -jar ojdbc8.jar.

Scarica un programma di esempio da Github

  1. Scaricare il file ADBQuickStart.java da Github. Questa applicazione di esempio utilizza lo schema di esempio Cronologia vendite (SH) e visualizza 20 record dalla tabella SH.CUSTOMERS.
  2. Modificare il file ADBQuickStart.java in modo che includa le informazioni di connessione di Oracle Autonomous Database:
    • DB_USER: è possibile utilizzare ADMIN, l'utente creato per impostazione predefinita quando viene creato l'Oracle Autonomous Database (se si crea un altro utente OracleAutonomous Database, è possibile utilizzare tale utente).
    • DB_PASSWORD: utilizzare la password dell'utente del database. Se si esegue la connessione come utente ADMIN, impostarla sulla password scelta durante il passo Crea Autonomous Database durante il provisioning di Oracle Autonomous Database. Per motivi di sicurezza, è necessario immettere la password tramite la console quando si esegue l'esempio.
    • DB_URL: ottenere la stringa di connessione per Autonomous Database seguendo le istruzioni in Visualizza stringhe di connessione per un Autonomous Database. Se si utilizza direttamente nel programma Java, è necessario eseguire l'escape " nella stringa di connessione con \"

    Un esempio di file Java di avvio rapido è simile al seguente:

    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. Salva le modifiche al file ADBQuickStart.java.

Risoluzione dei problemi e debug: se si verificano errori, consultare la pagina Suggerimenti per la risoluzione dei problemi per alcuni suggerimenti utili.

Eseguire il provisioning di un'istanza Oracle Autonomous Database

È necessario accedere a un Oracle Autonomous Database. Fare riferimento a Prima di iniziare con Autonomous Database sull'infrastruttura Exadata dedicata se non ne è già stato eseguito il provisioning.

Ricordare la password utilizzata per l'utente ADMIN. A scopo dimostrativo, utilizzeremo l'utente ADMIN, ma il nostro suggerimento è quello di creare altri utenti del database utilizzando Oracle SQL Developer o Database Actions.

Ottieni credenziali client

  1. Scaricare un file wallet dall'istanza di Autonomous Database per ottenere un file zip che contiene le credenziali di sicurezza del client e le impostazioni di configurazione di rete necessarie per accedere a un'istanza di Autonomous Database.

    Ottenere le credenziali di sicurezza del client (file wallet.zip):

    • Utente ADMIN: nella console di Oracle Cloud Infrastructure fare clic su Connessione al database. Vedere Scarica credenziali client.
    • Altro utente (non amministratore): ottenere Oracle Wallet dall'amministratore per l'istanza di Autonomous Database.

    Nota

    Proteggere il file wallet.zip e il relativo contenuto per impedire l'accesso non autorizzato al database.
  2. Estrarre il file delle credenziali client (wallet.zip).

Installa JDK 8

Scaricare l'ultima versione di JDK 8 o versioni JDK superiori.

Nota

Assicurarsi di utilizzare JDK8u162 o una versione successiva. Utilizzare java -version per controllare la versione del JDK installata. Per controllare la versione del driver JDBC, digitare java -jar ojdbc8.jar.

Scarica un programma di esempio da Github

  1. Scaricare il file ADBQuickStart.java da Github. Questa applicazione di esempio utilizza lo schema di esempio Cronologia vendite (SH) e visualizza 20 record dalla tabella SH.CUSTOMERS.
  2. Modificare il file ADBQuickStart.java in modo che includa le informazioni di connessione di Oracle Autonomous Database:
    • DB_USER: è possibile utilizzare ADMIN, l'utente creato per impostazione predefinita quando viene creato l'Oracle Autonomous Database (se si crea un altro utente OracleAutonomous Database, è possibile utilizzare tale utente).
    • DB_PASSWORD: utilizzare la password dell'utente del database. Se si esegue la connessione come utente ADMIN, impostarla sulla password scelta durante il passo Crea Autonomous Database durante il provisioning di Oracle Autonomous Database. Per motivi di sicurezza, è necessario immettere la password tramite la console quando si esegue l'esempio.
    • DB_URL: immettere il nome del servizio di rete (alias TNS) DBName_medium, dove DBName è il nome dell'Oracle Autonomous Database immesso durante il passo Crea Autonomous Database durante il provisioning di Oracle Autonomous Database. I nomi di servizio di rete disponibili sono visibili nel file tnsnames.ora, che fa parte del file zip delle credenziali client.

      TNS_ADMIN deve puntare alla posizione in cui sono state decompresse le credenziali client di Oracle Autonomous Database.

    Un esempio di file Java di avvio rapido è simile al seguente:

    DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName" DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"
  3. Salva le modifiche al file ADBQuickStart.java.

Procedura

  1. Scaricare la versione the19c di ojdbc8-full.tar.gz da OTN ed estrarre il contenuto nel classpath.

    Nota

    ojdbc8-full.tar.gz contiene il driver JDBC più recente ojdbc8.jar, ucp.jar (JAR obbligatorio per l'utilizzo di UCP come connection pool lato client), oraclepki.jar, osdt_core.jar, osdt_cert.jar. Questi JAR sono necessari per utilizzare i wallet Oracle durante la connessione a Oracle Autonomous Database.
  2. compilare il programma Java. Assicurarsi di fornire il percorso corretto per i file JAR richiesti nel classpath:
    javac -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:/lib/oraclepki.jar:./lib/osdt_core.jar:./lib/osdt_cert.jar com/oracle/jdbctest/ADBQuickStart.java
  3. Eseguire il programma Java di esempio. Assicurarsi di fornire il percorso corretto per i file JAR richiesti nel classpath:
    java -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:/lib/oraclepki.jar:./lib/osdt_core.jar:./lib/osdt_cert.jar:. com.oracle.jdbctest.ADBQuickStart

    Esempio di output:

    Vengono visualizzate le righe interrogate insieme a un messaggio di operazione riuscita, come mostrato nella schermata seguente:



Nota

Se ci si connette a Oracle Autonomous Database da un firewall, è probabile che si verifichi un errore di timeout della connessione. Assicurarsi che l'ambiente sia esterno al firewall durante l'esecuzione di questo esempio oppure aggiornare il file tnsnames.ora per utilizzare un proxy HTTPS.