搭配 IntelliJ 使用 JDBC 連線至 Oracle Autonomous Database

您可以使用 IntelliJ IDE 建立與 Oracle Autonomous Database 的連線。下列各節提供如何使用 Maven 專案或 Gradle 專案第一次連線至 Oracle Autonomous Database 的相關資訊。在連線至 Oracle Autonomous Database 之前,請先確定您已完成「先決條件」中所述的步驟。

必備條件

下列各節提供使用 Oracle JDBC 驅動程式和「通用連線集區」將 Java 應用程式連線至 Oracle Autonomous Database 之前,必須執行之作業的相關資訊。請根據在佈建自治式 Exadata VM 叢集 (AVMC) 期間選取的認證類型,參閱適當的先決條件。依照預設,佈建 AVMC 時會啟用單向 TLS 連線。請參閱建立自治式 Exadata VM 叢集以瞭解詳細資訊。

您可以在 AVMC 的「詳細資訊」頁面上找到認證類型。請參閱檢視自治式 Exadata VM 叢集的詳細資訊以瞭解相關指示。

啟動設定 Oracle Autonomous Database 執行處理

您需要存取 Oracle Autonomous Database。如果您尚未佈建專用 Exadata 基礎架構上的 Autonomous Database,請參閱開始使用之前

請記住您用於 ADMIN 使用者的密碼。基於示範目的,我們將使用 ADMIN 使用者,但建議您使用 Oracle SQL Developer 或 Database Actions 建立其他資料庫使用者。

安裝 JDK 8

下載最新的 JDK 8較高的 JDK 版本

附註:

請確定您使用 JDK8u162 或更新版本。使用 java -version 檢查您已安裝的 JDK 版本。若要檢查 JDBC 驅動程式版本,請輸入 java -jar ojdbc8.jar

從 Github 下載範例程式

  1. 從 Github 下載 ADBQuickStart.java 檔案。此範例應用程式使用「銷售歷史記錄 (SH)」範例綱要,並顯示 SH.CUSTOMERS 表格中的 20 筆記錄。
  2. 修改 ADBQuickStart.java 檔案,以包含您的 Oracle Autonomous Database 連線資訊:
    • DB_USER :您可以使用 ADMIN,這是建立 Oracle Autonomous Database 時預設建立的使用者 (如果您建立其他 Oracle Autonomous Database 使用者,則可以改用該使用者)。
    • DB_PASSWORD :使用資料庫使用者的密碼。If connecting as the ADMIN user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database.基於安全理由,您必須在執行範例時透過主控台輸入密碼。
    • DB_URL :依照檢視 Autonomous Database 的連線字串中的指示,取得 Autonomous Database 的連線字串。如果您直接在 Java 程式中使用,則必須使用 \「 跳脫連線字串中的 」

    快速啟動 Java 檔案的範例如下:

    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. 儲存變更至 ADBQuickStart.java 檔案。

疑難排解和除錯:如果發生任何錯誤,請參考疑難排解秘訣頁面瞭解一些有用的提示。

啟動設定 Oracle Autonomous Database 執行處理

您需要存取 Oracle Autonomous Database。如果您尚未佈建專用 Exadata 基礎架構上的 Autonomous Database,請參閱開始使用之前

請記住您用於 ADMIN 使用者的密碼。基於示範目的,我們將使用 ADMIN 使用者,但建議您使用 Oracle SQL Developer 或 Database Actions 建立其他資料庫使用者。

取得從屬端證明資料

  1. Autonomous Database 執行處理下載公事包檔案,以取得包含存取 Autonomous Database 執行處理所需之從屬端安全證明資料和網路組態設定值的壓縮檔。

    取得從屬端安全證明資料 (wallet.zip 檔案):

    • ADMIN 使用者:在 Oracle Cloud Infrastructure 主控台上,按一下資料庫連線。請參閱下載從屬端證明資料
    • 其他使用者 (非管理員):從 Autonomous Database 執行處理的管理員取得 Oracle Wallet。

    附註:

    保護 wallet.zip 檔案及其內容,以防止未經授權的資料庫存取。
  2. 解壓縮從屬端證明資料檔案 (wallet.zip)。

安裝 JDK 8

下載最新的 JDK 8較高的 JDK 版本

附註:

請確定您使用 JDK8u162 或更新版本。使用 java -version 檢查您已安裝的 JDK 版本。若要檢查 JDBC 驅動程式版本,請輸入 java -jar ojdbc8.jar

從 Github 下載範例程式

  1. 從 Github 下載 ADBQuickStart.java 檔案。此範例應用程式使用「銷售歷史記錄 (SH)」範例綱要,並顯示 SH.CUSTOMERS 表格中的 20 筆記錄。
  2. 修改 ADBQuickStart.java 檔案,以包含您的 Oracle Autonomous Database 連線資訊:
    • DB_USER :您可以使用 ADMIN,這是建立 Oracle Autonomous Database 時預設建立的使用者 (如果您建立其他 Oracle Autonomous Database 使用者,則可以改用該使用者)。
    • DB_PASSWORD :使用資料庫使用者的密碼。If connecting as the ADMIN user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database.基於安全理由,您必須在執行範例時透過主控台輸入密碼。
    • DB_URL :輸入網路服務名稱 (TNS 別名) DBName_medium ,其中 DBName 是在啟動設定 Oracle Autonomous Database 時,在建立 Autonomous Database 步驟期間輸入的 Oracle Autonomous Database 名稱。您可以在 tnsnames.ora 檔案中看到可用的網路服務名稱,此檔案是從屬端證明資料壓縮檔的一部分。

      TNS_ADMIN 應指向您解壓縮 Oracle Autonomous Database 從屬端證明資料的位置。

    快速啟動 Java 檔案的範例如下:

    DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName" DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"
  3. 儲存變更至 ADBQuickStart.java 檔案。

程序

您可以使用 IntelliJ 和 Maven 或 Gradle 連線至 Autonomous Database

  1. 建立 Maven 專案。
    1. 按一下檔案功能表中的新建,然後選取專案
    2. 選取左邊的 Maven ,然後選取最新版本的 JDK 作為 Project SDK
    3. 按一下下一步
    4. 名稱指定為 ADBQuickstart。
  2. 建立 ADBQuickStart.java 檔案。
    1. src/main/java 上按一下滑鼠右鍵。
    2. 選取新建,然後選取 Java Class
    3. 輸入 com.oracle.jdbctest.ADBQuickStart.java。這也會建立必要的套件結構。請務必將 ADBQuickstart.java 檔案的內容複製到此新檔案。
  3. 修改具有下列變更的 pom.xml 檔案:新增 Oracle JDBC 驅動程式作為相依性。

    ojdbc8-production 會下載 Oracle JDBC 驅動程式 (ojdbc8.jar) 以及 ucp.jar (使用 UCP 作為從屬端連線集區時需要),oraclepki.jarosdt_core.jarosdt_cert.jar。These JARs are required for using Oracle Wallets while connecting to Oracle Autonomous 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. 建立並執行 ADB QuickStart。在 ADBQuickStart.java 上按一下滑鼠右鍵,然後按一下建置模組 ADBQuickStart ,即可編譯 Java 程式碼。請確定 Java 程式碼中沒有任何編譯錯誤,而且您使用的是最新的 JDK 版本。
  5. 執行範例 Java 程式。在 ADBQuickStart.java 上按一下滑鼠右鍵,然後按一下執行 ADBQuickStart.main() 。請務必在主控台上輸入資料庫密碼。

    範例輸出

    會顯示查詢的資料列以及成功訊息,如下列畫面所示:



附註:

注意:如果您在防火牆後連線至 Oracle Autonomous Database,可能會發生連線逾時錯誤。執行此範例時,請確定位於防火牆之外,或更新 tnsnames.ora 檔案以使用 HTTPS 代理伺服器。
  1. 依照 Gradle Guide 中的指示進行 Gradle 下載和建立指示,並在使用 Gradle 命令前設定 PATH 變數。第一步是使用下列指令建立 Gradle 專案。請確定為選取要產生的專案類型選擇 2:application 。此外,對於來源套件 (default:temp):,請使用 com.oracle.jdbctest
    gradle init
  2. ADBQuickStart.java 檔案複製到 src/main/java/com/oracle/jdbctest 目錄。
  3. 使用以下變更修改 build.gradle 檔案:
    • 新增 mavenCentral() 作為儲存區域。
    • 新增 Oracle JDBC 驅動程式作為相依性。

      附註:

      ojdbc8-production 會下載 Oracle JDBC 驅動程式 (ojdbc8.jar) 以及 ucp.jar (使用 UCP 作為從屬端連線集區時所需),oraclepki.jarosdt_core.jarosdt_cert.jar。連線至 Oracle Autonomous Database 時,需有這些 JAR 才能使用 Oracle 公事包。

      如需詳細資訊,請參閱 Maven Central Guide

    • mainClassName 更新為 ADBQuickStart。
    • 新增 run 區塊以從主控台讀取密碼。
      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. 建置 Gradle 應用程式。確定您位於 build.gradle 檔案所在的目錄中。使用下列命令來編譯 Java 程式碼:
    ./gradlew build
  5. 執行範例 Java 程式。
    ./gradlew run

    範例輸出:會顯示查詢的資料列以及成功訊息,如下列畫面所示:



附註:

如果您從防火牆連線至 Oracle Autonomous Database,可能會發生連線逾時錯誤。執行此範例時,請確定位於防火牆之外,或更新 tnsnames.ora 檔案以使用 HTTPS 代理伺服器。