Oracle AI Autonomous DatabaseによるJavaアプリケーションのクイック・スタート
このクイック・スタート・ガイドでは、Oracle JDBCドライバを使用してOracle Autonomous Database(ADB)への接続を正常に確立する方法を説明します。接続は、一方向TLSまたは相互TLS(mTLS)を使用するように設定できます。
Oracle Database(オンプレミス)またはOracle Cloud Databaseに接続する場合は、Oracle Database(オンプレミス)によるJavaアプリケーションのクイック・スタートをご参照ください。
その他の技術概要、ブログ、動画などについては、Oracle JDBC Developer Centerをご参照ください。
前提条件(一方向TLSおよびmTLS)
すべて開くすべて閉じる前提条件(一方向TLS)
- 1. ADBインスタンスを使用またはプロビジョニングする
まだADBインスタンスをプロビジョニングしていない場合は、以下のリンクをクリックしてADBインスタンスのプロビジョニング手順を実行します。
ADMINユーザーで使用したパスワードをお忘れのないようご注意ください。このデモではADMINユーザーを使用しますが、SQLDeveloperまたはSQL Developer Webコンソールを使用して他のデータベース・ユーザーを作成することをお勧めします。
- 2. 相互TLS(mTLS)要件の削除
- Autonomous Databaseの作成後、デフォルト・オプションとして相互TLSが有効になります。以下の手順に従って、相互TLS(mTLS)要件を削除し、一方向TLSを有効にしてください。TLSを有効にすると、TLSとmTLSの両方を使用してAutonomous Databaseに接続することができます。詳細については、ウォレットなしでのJDBC Thin TLS接続のセクションをご参照ください。
- Oracle Cloud Consoleから、Oracle Autonomous DatabaseインスタンスのAutonomous Database Detailsページに移動します。詳細にある「Network」というタイトルのセクションを確認し、「Access Control List」の隣にある「Edit」をクリックします。
- 「Edit Access Control List」ダイアログで、エントリーのタイプを選択し、適切な値を入力します。IPアドレス(ローカルIP)、CIDRブロック、VCN(名前またはOCID別)ごとにエントリを追加できます。必要な数だけ追加します。
- Mutual TLS (mTLS) Authentication'フィールド「Edit」をクリックし、'Require mutual TLS(mTLS) authentication'のチェックを外します。
- 更新には時間がかかり、ステータスは「使用可能」に変更されます。変更後、ネットワーク設定は以下のようになります。
- 3. 最新のJDKをインストールする
JDKをインストールします。長期サポート・リリースとなっているのは、JDK8、JDK11、JDK17、JDK21およびJDK25です。これらのバージョンのいずれかを使用するようにしてください。
* 必ずJDK8u162以降を使用してください。"java -version"を使用してインストールしたJDKのバージョンを確認します。"java -jar ojdbc8.jar"を使用してJDBCドライバのバージョンを確認します。
- 4. GitHubからサンプル・プログラムをダウンロードする
- GithubからADBQuickStart.javaをダウンロードします。このサンプル・アプリケーションは販売履歴(SH)サンプル・スキーマを使用し、SH.CUSTOMERS表から20レコードを表示します。
ADBQuickStart.javaを修正して、次のADB接続情報を含めます。
- DB_USER: Autonomous Databaseの作成時にデフォルトで作成されるユーザーであるADMINを使用することができます。(別のADBユーザーを作成した場合は、そのユーザーを代わりに使用することができます。)
- DB_PASSWORD: データベースのユーザー・パスワードを使用します。ADMINユーザーとして接続する場合は、Autonomous Databaseのプロビジョニング時にAutonomous Databaseの作成ステップで選択したパスワードを設定します。セキュリティ上の理由から、サンプルを実行する際にはコンソールからパスワードを入力する必要があります。
- DB_URL: ご使用のAutonomous Databaseの「DB接続」タブをクリックします。「接続文字列」ダイアログ・ボックスで、ドロップダウン・メニューから「TLS」を選択し、要件に応じた適切な接続文字列をコピーします。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="enter_it_from_console"- 変更をADBQuickStart.javaに保存します。
- トラブルシューティングおよびデバッグ: エラーが発生した場合は、「トラブルシューティングのヒント」ページで役立つヒントをご確認ください。
前提条件(相互TLS)
- 1. ADBインスタンスを使用またはプロビジョニングする
まだADBインスタンスをプロビジョニングしていない場合は、以下のリンクをクリックしてADBインスタンスのプロビジョニング手順を実行します。
ADMINユーザーで使用したパスワードをお忘れのないようご注意ください。このデモではADMINユーザーを使用しますが、SQLDeveloperまたはSQL Developer Webコンソールを使用して他のデータベース・ユーザーを作成することをお勧めします。
- 2. クライアント資格証明の取得
- Autonomous Databaseの作成後、以下の手順に従ってOracle Cloudコンソールからクライアント認証情報をダウンロードします。クライアント認証情報(wallet_[dbname].zip)には、要件となるウォレット・ファイルとtnsnamea.oraが含まれており、相互TLSを提供し、認証と暗号化のセキュリティを強化します。
- Oracle Cloudコンソールから、Oracle Autonomous Databaseインスタンスの「Autonomous Databaseの詳細」ページに移動します。
- 「DB接続」ボタンをクリックします。新しいウィンドウが表示されます。
- 「ウォレットのダウンロード」ボタンをクリックします。「Wallet Type」は「Instance Wallet」のままにします。
- 3 .JDKをインストールする
JDKをインストールします。長期サポート・リリースとなっているのは、JDK8、JDK11、JDK17、JDK21およびJDK25です。これらのバージョンのいずれかを使用するようにしてください。
* JDK8u162以降を使用してください。"java -version"を使用してインストールしたJDKのバージョンを確認します。"java -jar ojdbc[JDK_VERSION].jar"を使用してJDBCドライバのバージョンを確認します。
- 4. GitHubからサンプル・プログラムをダウンロードする
- GithubからADBQuickStart.javaをダウンロードします。このサンプル・アプリケーションは販売履歴(SH)サンプル・スキーマを使用し、SH.CUSTOMERS表から20レコードを表示します。
ADBQuickStart.javaを修正して、次のADB接続情報を含めます。
- DB_USER: Autonomous Databaseの作成時にデフォルトで作成されるユーザーであるADMINを使用することができます。(別のADBユーザーを作成した場合は、そのユーザーを代わりに使用することができます。)
- DB_PASSWORD: データベースのユーザー・パスワードを使用します。ADMINユーザーとして接続する場合は、Autonomous Databaseのプロビジョニング時にAutonomous Databaseの作成ステップで選択したパスワードを設定します。セキュリティ上の理由から、サンプルを実行する際にはコンソールからパスワードを入力する必要があります。
- DB_URL: ネット・サービス名(別名TNSエイリアス)DBName_mediumを入力します。ここで、DBNameはAutonomous Databaseのプロビジョニング時にAutonomous Databaseの作成ステップで入力した「データベース名」です。利用可能なネット・サービス名は、クライアント認証情報zipファイルの一部であるtnsnames.oraファイルで確認できます。
TNS_ADMINは、ADBのクライアント認証情報を解凍した場所を指している必要があります。
例 :
DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName"DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"- 変更をADBQuickStart.javaに保存します。
- トラブルシューティングおよびデバッグ: エラーが発生した場合は、「トラブルシューティングのヒント」ページで役立つヒントをご確認ください。
MavenおよびGradle
すべて開くすべて閉じるMavenプロジェクト
- 1.Mavenプロジェクトの設定
前提条件:: 前提条件セクションのすべてのステップを必ず完了してください。
Mavenプロジェクトの作成:: Apache Mavenをダウンロードし、mvnコマンドを使用する前に必ずPATHを設定します。次のMavenコマンドを使用してプロジェクトを作成します。
mvn archetype:generate -DgroupId=com.oracle.jdbctest -DartifactId=jdbc-test-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=falseADBQuickStart.javaを
srcディレクトリにコピー: ADBQuickStart.javaをsrc/main/java/com/oracle/jdbctestディレクトリにコピーします。次の変更で
pom.xmlを修正:
依存関係としてOracle JDBCドライバを追加します。注意: ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)とともに、他の付属jarとしてucp.jar(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、oraclepki.jar、osdt_core.jar、osdt_cert.jar(これらのjarは、Autonomous Databaseに接続する際にOracleウォレットを使用するために必要です)などもダウンロードします。詳細については、Maven Centralのガイドをご参照ください。<dependencies>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8-production</artifactId>
<version>23.26.2.0.0</version>
<type>pom</type>
</dependency>
</dependencies>
- 2. サンプルJavaプログラムの構築と実行
pom.xmlが存在するディレクトリにいることを確認します。
Javaコードのクリーンアップとコンパイル: 次のコマンドを使用します。
mvn cleanmvn compileサンプルJavaプログラムの実行
mvn exec:java -Dexec.cleanupDaemonThreads=false -Dexec.mainClass="com.oracle.jdbctest.ADBQuickStart"- 出力例:
問合せ対象の行がデータベースから返され、Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。
注意: ファイアウォールの内側からADBに接続しようとすると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。この方法の詳細については、「HTTPプロキシを使用したJDBC Thin接続」セクションをご参照ください。
Gradleプロジェクト
- 1. Gradleプロジェクトの設定
- 前提条件:: 前提条件セクションのすべてのステップを必ず完了してください。
Gradleプロジェクトの作成: Gradleのガイドで説明されている手順に従って、Gradleのダウンロードとビルドを行います。gradle コマンドを使う前に、PATH を設定するようにしてください。まず最初に、以下のコマンドでgradleプロジェクトを作成します。「生成するプロジェクトの種類を選択する」で「2: アプリケーション」を選択していることを確認してください。また、「Source package (default: temp):」には
コピーcom.oracle.jdbctestを使用します。
クリップボードへのコピーのエラー: コピーできませんでしたgradle initADBQuickStart.javaを
srcディレクトリにコピー: ADBQuickStart.javaをsrc/main/java/com/oracle/jdbctestディレクトリにコピーします。次の変更で
build.gradleを修正:- リポジトリとして
mavenCentral()を追加します。 - 依存関係としてOracle JDBCドライバを追加します。
注意: ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)とともに、他の付属jarとしてucp.jar(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、oraclepki.jar、osdt_core.jar、osdt_cert.jar(これらのjarは、Autonomous Databaseに接続する際にOracleウォレットを使用するために必要です)などもダウンロードします。詳細については、Maven Centralのガイドをご参照ください。 - 'mainClassName'をADBQuickStartに更新します。
runブロックを追加し、コンソールからパスワードを読み取るために一時停止します。
- リポジトリとして
repositories {
// Maven Central
mavenCentral()
}
dependencies {
// Get the 23.26.2.0.0 Oracle JDBC driver along with other companion jars
implementation("com.oracle.database.jdbc:ojdbc8-production:23.26.2.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
} - 2.Gradleアプリケーションの構築および実行
build.gradleが存在するディレクトリにいることを確認します。
Javaコードのコンパイル: 以下のコマンドを使用します。
./gradlew buildサンプルJavaプログラムの実行
./gradlew run- 出力例:
問合せ対象の行がデータベースから返され、Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。
注意: ファイアウォールの内側からADBに接続しようとすると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。この方法の詳細については、「HTTPプロキシを使用したJDBC Thin接続」セクションをご参照ください。
EclipseおよびIntelliJ
すべて開くすべて閉じるEclipse
- 1.Mavenプロジェクトの設定
前提条件:: 前提条件セクションのすべてのステップを必ず完了してください。
Mavenプロジェクトの作成:
- 「ファイル」→「新規」→「Mavenプロジェクト」を選択します。maven archetypeを使用するか、'Create simple project (skip archetype selection)' をチェックします。
- MavenプロジェクトのGAVを選択: これらはプロジェクトのpom.xmlに表示されます。
Group Id: com.oracle
Artifact Id: ADBquickstart
Version: 0.0.1-SNAPSHOTのままにします。
ADBQuickStart.javaの作成:: src/main/javaを右クリックし、「新規」→「クラス」をクリックします。次の値を入力します。
パッケージ: com.oracle.jdbctest
名前: ADBQuickStart。「終了」をクリックします。
ADBQuickStart.javaの内容を、新しく作成したこのファイルに必ずコピーしてください。次の変更で
pom.xmlを修正:
依存関係としてOracle JDBCドライバを追加します。注意: ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)とともに、他の付属jarとしてucp.jar(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、oraclepki.jar、osdt_core.jar、osdt_cert.jar(これらのjarは、Autonomous Databaseに接続する際にOracleウォレットを使用するために必要です)などもダウンロードします。詳細については、Maven Centralのガイドをご参照ください。
<dependencies>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8-production</artifactId>
<version>23.26.2.0.0</version>
<type>pom</type>
</dependency>
</dependencies>
- 2. サンプルJavaプログラムの構築と実行
Javaコードにコンパイル・エラーがないこと、最新のJDKバージョンを使用していることを確認してください。
サンプルJavaプログラムの実行: ADBQuickStart.javaを右クリックし、「名前を付けて実行」→「Javaアプリケーション」をクリックします。
データベース・パスワードの入力を求めるプロンプトが表示され、パスワードを入力すると結果が表示されます。- 出力例:
問合せ対象の行がデータベースから返され、Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。
注意: ファイアウォールの内側からADBに接続しようとすると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。この方法の詳細については、「HTTPプロキシを使用したJDBC Thin接続」セクションをご参照ください。
IntelliJ
- 1.Mavenプロジェクトの設定
- 前提条件:: 前提条件セクションのすべてのステップを必ず完了してください。
Mavenプロジェクトの作成:
- 「ファイル」→「新規」→「プロジェクト」をクリックします。
- 左側で「Maven」を選択し、最新バージョンのJDKを「Project SDK」として選択します。「Next」をクリックします。
- 「名前」をADBQuickstartにします。
- 「ファイル」→「新規」→「プロジェクト」をクリックします。
ADBQuickStart.javaの作成: src/main/javaを右クリックします。「新規」→「Javaクラス」をクリックします。「com.oracle.jdbctest.ADBQuickStart.java」と入力すると、必要なパッケージ構造も作成されます。ADBQuickStart.javaの内容を、この新しいファイルにコピーするようにしてください。
次の変更で
pom.xmlを修正:
依存関係としてOracle JDBCドライバを追加します。注意: ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)とともに、他の付属jarとしてucp.jar(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、oraclepki.jar、osdt_core.jar、osdt_cert.jar(これらのjarは、Autonomous Databaseに接続する際にOracleウォレットを使用するために必要です)などもダウンロードします。詳細については、Maven Centralのガイドをご参照ください。
<dependencies>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8-production</artifactId>
<version>23.26.2.0.0</version>
<type>pom</type>
</dependency>
</dependencies>
- 2. 構築とADBQuickStartの実行
Javaコードのコンパイル: ADBQuickStart.javaを右クリックし、Build Module 'ADBQuickStart'をクリックします。コンパイル・エラーがないことを確認します。
サンプルJavaプログラムの実行: ADBQuickStart.javaを右クリックし、'ADBQuickStart.main()'を実行します。コンソールでデータベースのパスワードを入力してください。
- 出力例:
問合せ対象の行がデータベースから返され、Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。
注意: ファイアウォールの内側からADBに接続しようとすると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。この方法の詳細については、「HTTPプロキシを使用したJDBC Thin接続」セクションをご参照ください。
ビルド・ツールなし
すべて開くすべて閉じるビルド・ツールなし
- 1.JDBCドライバおよびその他のjarのダウンロード
前提条件のセクションにある全てのステップを完了するようにしてください。
OTNから最新の19cバージョンのojdbc8-full.tar.gzをダウンロードし、内容をクラスパスに解凍します。
注意: ojdbc8-full.tar.gzには、最新のJDBCドライバであるojdbc8.jar、ucp.jar(UCPをクライアント側の接続プールとして使用するために必要なjarです)、oraclepki.jar、osdt_core.jar、osdt_cert.jar(これらのjarは、Autonomous Databaseに接続する際にOracleウォレットを使用するために必要です)が含まれています。
- 2. サンプルJavaプログラムの構築と実行
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- 出力例:
問合せ対象の行がデータベースから返され、Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。
注意: ファイアウォールの内側からADBに接続しようとすると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。この方法の詳細については、「HTTPプロキシを使用したJDBC Thin接続」セクションをご参照ください。