Connettersi a Oracle Autonomous AI Database utilizzando JDBC con IntelliJ

Puoi stabilire una connessione a Oracle Autonomous AI Database utilizzando l'IDE IntelliJ. Nelle sezioni seguenti vengono fornite informazioni su come connettersi a Oracle Autonomous AI Database utilizzando un progetto Maven o un progetto Gradle. Assicurarsi di aver completato i passi descritti nei prerequisiti prima di connettersi a Oracle Autonomous AI Database.

Prerequisiti

Le sezioni seguenti forniscono informazioni sui task da eseguire prima di connettere le applicazioni Java a Oracle Autonomous AI Database utilizzando il driver JDBC Oracle e 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 sono 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 Visualizza dettagli di un cluster VM Autonomous Exadata.

Eseguire il provisioning di un'istanza di Oracle Autonomous AI Database

Hai bisogno di accedere a Oracle Autonomous AI Database. Fare riferimento a Prima di iniziare con Autonomous AI Database on Dedicated Exadata Infrastructure se non ne è già stato eseguito il provisioning.

Ricordare la password utilizzata per l'utente ADMIN. A scopo dimostrativo, verrà utilizzato l'utente ADMIN, ma si consiglia di creare altri utenti del database utilizzando Oracle SQL Developer o Database Actions.

Installa JDK 8

Scarica la versione più recente di JDK 8 o una versione JDK più elevata.

Nota: assicurarsi di utilizzare JDK8u162 o una versione successiva. Utilizzare java -version per controllare la versione di 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 per includere le informazioni di connessione a Oracle Autonomous AI Database:

    • DB_USER: è possibile utilizzare ADMIN, l'utente creato per impostazione predefinita quando viene creato Oracle Autonomous AI Database (se si crea un altro utente OracleAutonomous AI Database, è possibile utilizzarlo).

    • DB_PASSWORD: utilizzare la password dell'utente del database. Se ci si connette come utente ADMIN, impostare questa opzione sulla password scelta durante il passo Crea Autonomous AI Database durante il provisioning di Oracle Autonomous AI Database. Per motivi di sicurezza, è necessario immettere la password nella console quando si esegue l'esempio.

    • DB_URL: ottenere la stringa di connessione per Autonomous AI Database seguendo le istruzioni in Visualizza stringhe di connessione per un Autonomous AI Database. Se si utilizza direttamente nel programma Java, è necessario eseguire l'escape " nella stringa di connessione con \

    Di seguito è riportato un esempio di file Java di avvio rapido.

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

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

Eseguire il provisioning di un'istanza di Oracle Autonomous AI Database

Hai bisogno di accedere a Oracle Autonomous AI Database. Fare riferimento a Prima di iniziare con Autonomous AI Database on Dedicated Exadata Infrastructure se non ne è già stato eseguito il provisioning.

Ricordare la password utilizzata per l'utente ADMIN. A scopo dimostrativo, verrà utilizzato l'utente ADMIN, ma si consiglia 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 AI Database per ottenere un file zip contenente le credenziali di sicurezza client e le impostazioni di configurazione di rete necessarie per accedere a un'istanza di Autonomous AI 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 l'Oracle Wallet dall'amministratore per l'istanza di Autonomous AI Database.

    Nota: proteggere il file wallet.zip e il relativo contenuto per impedire l'accesso non autorizzato al database.

  2. Decomprimere il file delle credenziali client (wallet.zip).

Installa JDK 8

Scarica la versione più recente di JDK 8 o una versione JDK più alta.

Nota: assicurarsi di utilizzare JDK8u162 o una versione successiva. Utilizzare java -version per controllare la versione di 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 per includere le informazioni di connessione a Oracle Autonomous AI Database:

    • DB_USER: è possibile utilizzare ADMIN, l'utente creato per impostazione predefinita quando viene creato Oracle Autonomous AI Database (se si crea un altro utente OracleAutonomous AI Database, è possibile utilizzarlo).

    • DB_PASSWORD: utilizzare la password dell'utente del database. Se ci si connette come utente ADMIN, impostare questa opzione sulla password scelta durante il passo Crea Autonomous AI Database durante il provisioning di Oracle Autonomous AI Database. Per motivi di sicurezza, è necessario immettere la password nella console quando si esegue l'esempio.

    • DB_URL: immettere il nome del servizio di rete (alias TNS) DBName_medium, dove DBName è il nome di Oracle Autonomous AI Database immesso durante il passo Crea Autonomous AI Database durante il provisioning di Oracle Autonomous AI Database. I nomi dei servizi di rete disponibili possono essere visualizzati 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 AI Database.

    Di seguito è riportato un esempio di file Java di avvio rapido.

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

Procedura

Puoi connetterti ad Autonomous AI Database utilizzando IntelliJ e Maven o Gradle.

  1. Creare un progetto Maven.

    1. Fare clic sul menu File, selezionare Nuovo, quindi selezionare Progetto.

    2. Selezionare Maven sul lato sinistro e selezionare la versione più recente di JDK come Project SDK.

    3. Fare clic su Avanti.

    4. Specificare Nome come ADBQuickstart.

  2. Creare il file ADBQuickStart.java.

    1. Fare clic con il pulsante destro del mouse su src/main/java.

    2. Selezionare Nuovo, quindi Classe Java

    3. Immettere com.oracle.jdbctest.ADBQuickStart.java. In questo modo verrà creata anche la struttura del package richiesta. Assicurarsi di copiare il contenuto del file ADBQuickstart.java in questo nuovo file.

  3. Modificare il file pom.xml con le seguenti modifiche: aggiungere il driver JDBC Oracle come dipendenza.

    ojdbc8-production scaricherà il driver Oracle JDBC (ojdbc8.jar) insieme a ucp.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 AI Database.

    <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. Genera ed esegue un QuickStart ADB. Compilare il codice Java facendo clic con il pulsante destro del mouse su ADBQuickStart.java, quindi fare clic su Crea modulo ADBQuickStart. Assicurarsi di non avere errori di compilazione nel codice Java e di utilizzare la versione più recente di JDK.

  5. Eseguire il programma Java di esempio. Fare clic con il pulsante destro del mouse su ADBQuickStart.java e quindi su Esegui ADBQuickStart.main(). Assicurarsi di immettere la password del database nella console.

    Output di esempio:

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

    Descrizione dell'immagine intellij_build_and_run.png

    Nota: se ci si connette a Oracle Autonomous AI Database da un firewall, è probabile che si verifichi un errore di timeout della connessione. Assicurarsi di essere esterni al firewall durante l'esecuzione di questo esempio oppure aggiornare il file tnsnames.ora per utilizzare un proxy HTTPS.

  1. Seguire le istruzioni fornite nella Gradle Guide per le istruzioni per il download e la creazione di Gradle e impostare la variabile PATH prima di utilizzare i comandi Gradle. Come primo passo, creare un progetto Gradle utilizzando il comando seguente. Assicurarsi di scegliere 2:applicazione per Selezionare il tipo di progetto da generare. Inoltre, per il pacchetto di origine (predefinito:temp): utilizzare com.oracle.jdbctest.

    gradle init
  2. Copiare il file ADBQuickStart.java nella directory src/main/java/com/oracle/jdbctest.

  3. Modificare il file build.gradle con le seguenti modifiche:
    • Aggiungere mavenCentral() come repository.
    • Aggiungere il driver JDBC Oracle come dipendenza.

    Nota: la produzione ojdbc8 scarica il driver Oracle JDBC (ojdbc8.jar) insieme a ucp.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 AI Database.

    Per ulteriori informazioni, vedere Maven Central Guide.

    • Aggiornare mainClassName in ADBQuickStart.

    • Aggiungere un blocco run per leggere la password dalla console.

       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. Creare un'applicazione Gradle. Assicurarsi di trovarsi nella directory in cui è presente il file build.gradle. Compilare il codice Java utilizzando il seguente comando:

    ./gradlew build
  5. Eseguire il programma Java di esempio.

    ./gradlew run

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

    Segue la descrizione di gradle_build_and_run.png

    Descrizione dell'immagine gradle_build_and_run.png

    Nota: se ci si connette a Oracle Autonomous AI Database da un firewall, è probabile che si verifichi un errore di timeout della connessione. Assicurarsi di essere esterni al firewall durante l'esecuzione di questo esempio oppure aggiornare il file tnsnames.ora per utilizzare un proxy HTTPS.