以下の簡単な手順に従い、Oracle JDBCドライバとUniversal Connection Poolを使用して、JavaアプリケーションをAutonomous Database(ADB)に接続します。Oracle Autonomous Databaseは一方向TLSと相互TLS(mTLS)の両方で接続できますが、デフォルトは後者です。一方向TLS、別名TLSを使えば、Oracle WalletsもJKSもAutonomous Databaseに接続する必要がなくなります。mTLS要件を削除すると、一方向TLSと相互TLSの両方で接続を確立できます。前提条件のセクションでは、この2つのアプローチについて説明します。オラクルでは、長期リリースであるOracle JDBC version 19cの最新版を使用することを推奨しています。また、最新のオラクルJDBCバージョン21c-Innovation Releaseの新機能を要件とする場合や、オラクルJDBCバージョン23c Free-Developer Releaseを使用してコミュニティがサポートする新しいリリースにアクセスすることもできます。 TCP 接続を使用するOracle Database (オンプレミス)またはOracle Cloud Databaseに接続する場合は、 QuickStart Java applications with Oracle Database (オンプレミス)をご参照ください。その他の技術概要、ブログ、動画などについては、Oracle JDBCおよびUCPのランディング・ページをご参照ください。
Oracle Autonomous Database(ADB)へのアクセス権を取得します。まだADBインスタンスをプロビジョニングしていない場合は、以下のリンクをクリックしてADBインスタンスの手順を参照してください。
ADMINユーザーで使用したパスワードをお忘れのないようご注意ください。このデモではADMINユーザーを使用しますが、SQLDeveloper かSQL Developer Webコンソールを使用して他のデータベース・ユーザーを作成することをお勧めします。
最新の JDK81 または それ以上のJDKバージョンをダウンロードしてください。
JDK8u162以上を使用するようにしてください。"java -version"を使用してインストールしたJDKのバージョンを確認します。"java -jar ojdbc8.jar"を使用してJDBCドライバのバージョンを確認します。
ADBQuickStart.javaを修正して、ADB接続情報を含めます。
例: 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"
Oracle Autonomous Database(ADB)へのアクセス権を取得します。まだADBインスタンスをプロビジョニングしていない場合は、以下のリンクをクリックしてADBインスタンスの手順を参照してください。
ADMINユーザーで使用したパスワードをお忘れのないようご注意ください。このデモではADMINユーザーを使用しますが、SQLDeveloper かSQL Developer Webコンソールを使用して他のデータベース・ユーザーを作成することをお勧めします。
JDK81 または それ以降のバージョンのJDKをダウンロードしてください。
1 "java -version"を使用してインストールしたJDKのバージョンを確認します。"java -jar ojdbc8.jar"を使用してJDBCドライバのバージョンを確認します。
ADBQuickStart.javaを修正して、ADB接続情報を含めます。
例: DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName"
DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"
前提条件: 前提条件セクションのすべてのステップを完了するようにしてください。
Mavenプロジェクトの作成: Apache Maven をダウンロードし、mvn コマンドを使用する前にPATHを設定してください。以下のMavenコマンドを使用して、プロジェクトを作成します。
mvn archetype:generate -DgroupId=com.oracle.jdbctest -DartifactId=jdbc-test-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
ADBQuickStart.javaをsrc
ディレクトリにコピー : ADBQuickStart.javaをsrc/main/java/com/oracle/jdbctest
ディレクトリにコピーしてください。
pom.xml
を以下の変更で修正:
依存関係としてOracle JDBCドライバを追加します。 ノート: ojdbc8-production は、Oracle JDBCドライバ(ojdbc8.jar
)と、ucp.jar
(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、 oraclepki.jar、osdt_core.jar、osdt_cert.jar
(これらのjarは、Autonomous Databaseに接続する際にOracle Walletを使用するために必要です)などをダウンロードします。詳細については、 Maven Central Guide をご参照ください。
<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>
pom.xml
が存在するディレクトリにあることを確認してください。
Javaコードのクリーンアップとコンパイル: 次のコマンドを使用します。
mvn clean
mvn 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ファイルを更新してください。ADB ドキュメントの "JDBC Thin Connections with an HTTP Proxy" セクションで、この方法の詳細をご覧ください。
Gradleプロジェクトの作成 : Gradle Guide にある指示に従って、Gradle のダウンロードとビルドを行います。gradle コマンドを使う前に、PATH を設定するようにしてください。まず最初に、以下のコマンドでgradleプロジェクトを作成します。「生成するプロジェクトの種類を選択する」で「2: アプリケーション」を選択していることを確認してください。また、「Source package (default: temp):」には com.oracle.jdbctest
を使用します。
gradle init
ADBQuickStart.javaをsrc
ディレクトリにコピー :ADBQuickStart.javaをsrc/main/java/com/oracle/jdbctest
ディレクトリにコピーしてください。
次の変更でbuild.gradle
を変更します。
mavenCentral()
を追加します ojdbc8.jar
)と、ucp.jar
(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、oraclepki.jar, osdt_core.jar, osdt_cert.jar
(これらのjarは、Autonomous Databaseに接続する際にOracle Walletを使用するために必要です)などをダウンロードします。詳細については、 Maven Central Guide をご参照ください。 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
}
build.gradle
が存在するディレクトリにいることを確認してください。
Javaコードのコンパイル: 以下のコマンドを使用します。
./gradlew build
サンプルJavaプログラムの実行
./gradlew run
下のスクリーンショットのように、問合せ対象の行がデータベースから返され、「Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。ノート: ファイアウォールの内側からADBに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。ADB ドキュメントの "JDBC Thin Connections with an HTTP Proxy" セクションで、この方法の詳細をご覧ください。
前提条件: 前提条件セクションのすべてのステップを完了するようにしてください。
Mavenプロジェクトの作成:
ADBQuickStart.javaの作成: src/main/java
を右クリックして、「新規」→「クラス」をクリックします。次の値を入力します。 パッケージ: com.oracle.jdbctest 名前: ADBQuickStartと「終了」をクリックします。ADBQuickStart.javaの内容を、この新しいファイルにコピーするようにしてください。
pom.xml
を以下の変更で修正:
依存関係としてOracle JDBCドライバを追加します。 ノート: ojdbc8-production は、Oracle JDBCドライバ(ojdbc8.jar
)と、ucp.jar
(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、 oraclepki.jar、osdt_core.jar、osdt_cert.jar
(これらのjarは、Autonomous Databaseに接続する際にOracle Walletを使用するために必要です)などをダウンロードします。詳細については、 Maven Central Guide をご参照ください。
<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>
Javaコードにコンパイル・エラーがないこと、最新のJDKバージョンを使用していることを確認してください。
サンプルJavaプログラムを実行します: ADBQuickStart.java --> 名前を付けて実行-->Javaアプリケーションを右クリックします。データベース・パスワードの入力を求めるプロンプトが表示され、パスワードを入力すると結果が表示されます。
下のスクリーンショットのように、問合せ対象の行がデータベースから返され、「Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。ノート: ファイアウォールの内側からADBに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。ADB ドキュメントの "JDBC Thin Connections with an HTTP Proxy" セクションで、この方法の詳細をご覧ください。
Mavenプロジェクトの作成:
ADBQuickStart.javaの作成: src/main/java
を右クリックします。「新規」→「Javaクラス」をクリックします。com.oracle.jdbctest.ADBQuickStart.java
と入力すると、必要なパッケージ構造も作成されます。ADBQuickStart.javaの内容を、この新しいファイルにコピーするようにしてください。
pom.xml
を以下の変更で修正:
依存関係としてOracle JDBCドライバを追加します。 ノート: ojdbc8-production は、Oracle JDBCドライバ(ojdbc8.jar
)と、ucp.jar
(クライアント側の接続プールとしてUCPを使用するために必要なjarです)、 oraclepki.jar、osdt_core.jar、osdt_cert.jar
(これらのjarは、Autonomous Databaseに接続する際にOracle Walletを使用するために必要です)などをダウンロードします。詳細については、 Maven Central Guide をご参照ください。
<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>
Java コードのコンパイル: Right click on ADBQuickStart.java --> Build Module 'ADBQuickStart'を右クリックします。コンパイル・エラーがないことを確認します。
サンプル Javaプログラムを実行します: ADBQuickStart.java を右クリック-> --> Run 'ADBQuickStart.main()'を実行します。コンソールでデータベースのパスワードを入力してください。
下のスクリーンショットのように、問合せ対象の行がデータベースから返され、「Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。ノート: ファイアウォールの内側からADBに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。ADB ドキュメントの "JDBC Thin Connections with an HTTP Proxy" セクションで、この方法の詳細をご覧ください。
前提条件のセクションにある全てのステップを完了するようにしてください。
OTNからojdbc8-full.tar.gzの最新の19cバージョンをダウンロードし、内容をクラスパスに解凍します。ノート: ojdbc8-full.tar.gz には、最新のJDBCドライバojdbc8.jar
、UCP.jar
(UCPをクライアント側の接続プールとして使用するには必須のjar)、oraclepki.jar, osdt_core.jar, osdt_cert.jar
(これらのjarは、Autonomous Databaseへの接続時に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
下のスクリーンショットのように、問合せ対象の行がデータベースから返され、「Congratulations! You have successfully used Oracle Autonomous Database」というメッセージが表示されます。ノート: ファイアウォールの内側からADBに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルを実行している間はファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。ADB ドキュメントの "JDBC Thin Connections with an HTTP Proxy" セクションで、この方法の詳細をご覧ください。