使用不含組建工具的 JDBC 連線至 Oracle 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 下載範例程式
- 從 Github 下載 ADBQuickStart.java 檔案。此範例應用程式使用「銷售歷史記錄 (SH)」範例綱要,並顯示
SH.CUSTOMERS
表格中的 20 筆記錄。 - 修改 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"
- DB_USER :您可以使用
- 儲存變更至
ADBQuickStart.java
檔案。
疑難排解和除錯:如果發生任何錯誤,請參考疑難排解秘訣頁面瞭解一些有用的提示。
啟動設定 Oracle Autonomous Database 執行處理
您需要存取 Oracle Autonomous Database。如果您尚未佈建專用 Exadata 基礎架構上的 Autonomous Database,請參閱開始使用之前。
請記住您用於 ADMIN
使用者的密碼。基於示範目的,我們將使用 ADMIN
使用者,但建議您使用 Oracle SQL Developer 或 Database Actions 建立其他資料庫使用者。
取得從屬端證明資料
-
從 Autonomous Database 執行處理下載公事包檔案,以取得包含存取 Autonomous Database 執行處理所需之從屬端安全證明資料和網路組態設定值的壓縮檔。
取得從屬端安全證明資料 (
wallet.zip
檔案):- ADMIN 使用者:在 Oracle Cloud Infrastructure 主控台上,按一下資料庫連線。請參閱下載從屬端證明資料。
- 其他使用者 (非管理員):從 Autonomous Database 執行處理的管理員取得 Oracle Wallet。
附註:
保護wallet.zip
檔案及其內容,以防止未經授權的資料庫存取。 - 解壓縮從屬端證明資料檔案 (
wallet.zip
)。
安裝 JDK 8
下載最新的 JDK 8 或較高的 JDK 版本。
附註:
請確定您使用JDK8u162
或更新版本。使用 java -version
檢查您已安裝的 JDK 版本。若要檢查 JDBC 驅動程式版本,請輸入 java -jar ojdbc8.jar
。
從 Github 下載範例程式
- 從 Github 下載 ADBQuickStart.java 檔案。此範例應用程式使用「銷售歷史記錄 (SH)」範例綱要,並顯示
SH.CUSTOMERS
表格中的 20 筆記錄。 - 修改 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"
- DB_USER :您可以使用
- 儲存變更至
ADBQuickStart.java
檔案。
程序
- 從 OTN 下載 the19c 版本的 ojdbc8-full.tar.gz ,然後將內容解壓縮至您的類別路徑。
附註:
ojdbc8-full.tar.gz
包含最新的 JDBC 驅動程式 ojdbc8.jar,ucp.jar (使用 UCP 作為從屬端連線集區所需的 JAR),oraclepki.jar
,osdt_core.jar
,osdt_cert.jar
。連線至 Oracle Autonomous Database 時,需有這些 JAR 才能使用 Oracle 公事包。 - 編譯 Java 程式。請確定為類別路徑中的必要 JAR 提供正確的路徑:
javac -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:/lib/oraclepki.jar:./lib/osdt_core.jar:./lib/osdt_cert.jar com/oracle/jdbctest/ADBQuickStart.java
- 執行範例 Java 程式。請確定為類別路徑中的必要 JAR 提供正確的路徑:
java -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:/lib/oraclepki.jar:./lib/osdt_core.jar:./lib/osdt_cert.jar:. com.oracle.jdbctest.ADBQuickStart
範例輸出:
會顯示查詢的資料列以及成功訊息,如下列畫面所示:
附註:
如果您從防火牆連線至 Oracle Autonomous Database,可能會發生連線逾時錯誤。執行此範例時,請確定位於防火牆之外,或更新tnsnames.ora
檔案以使用 HTTPS 代理伺服器。