IntelliJでのJDBCを使用したOracle Autonomous Databaseへの接続
IntelliJ IDEを使用して、Oracle Autonomous Databaseへの接続を確立できます。次の項では、MavenプロジェクトまたはGradleプロジェクトを使用してOracle Autonomous Databaseに初めて接続する方法について説明します。Oracle Autonomous Databaseに接続する前に、前提条件で説明されているステップを完了していることを確認してください。
前提条件
次の項では、Oracle JDBCドライバおよびユニバーサル接続プールを使用してJavaアプリケーションをOracle Autonomous Databaseに接続する前に実行する必要があるタスクについて説明します。Autonomous Exadata VMクラスタ(AVMC)のプロビジョニング時に選択した認証タイプに応じて、適切な前提条件を参照してください。デフォルトでは、AVMCをプロビジョニングすると一方向TLS接続が有効になります。詳細は、Autonomous Exadata VMクラスタの作成を参照してください。
認証タイプは、AVMCの「詳細」ページで確認できます。手順については、Autonomous Exadata VMクラスタの詳細の表示を参照してください。
Oracle Autonomous Databaseインスタンスのプロビジョニング
Oracle Autonomous Databaseにアクセスする必要があります。まだプロビジョニングしていない場合は、専用Exadataインフラストラクチャ上のAutonomous Databaseを開始する前にを参照してください。
ADMIN
ユーザーに使用したパスワードを覚えておいてください。デモンストレーションの目的では、ADMIN
ユーザーを使用しますが、Oracle SQL Developerまたはデータベース・アクションを使用して他のデータベース・ユーザーを作成することをお薦めします。
JDK 8をインストール
最新のJDK 8またはより高いJDKバージョンをダウンロードします。
ノート:
JDK8u162
以降のバージョンを使用していることを確認してください。java -version
を使用して、インストールしたJDKバージョンを確認します。JDBCドライバのバージョンを確認するには、java -jar ojdbc8.jar
と入力します。
Githubからサンプルプログラムをダウンロード
- GithubからADBQuickStart.javaファイルをダウンロードします。このサンプル・アプリケーションは、Sales History (SH)サンプル・スキーマを使用し、
SH.CUSTOMERS
表の20個のレコードを表示します。 - ADBQuickStart.javaファイルを変更して、Oracle Autonomous Databaseの接続情報を含めます。
- DB_USER: You can use
ADMIN
, the user created by default when the Oracle Autonomous Database is created (if you create another OracleAutonomous Database user, you can use that user instead). - 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: You can use
ADBQuickStart.java
ファイルに対する変更を保存します。
トラブルシューティングおよびデバッグ: エラーが発生した場合は、「トラブルシューティングのヒント」ページで役立つヒントを参照してください。
Oracle Autonomous Databaseインスタンスのプロビジョニング
Oracle Autonomous Databaseにアクセスする必要があります。まだプロビジョニングしていない場合は、専用Exadataインフラストラクチャ上のAutonomous Databaseを開始する前にを参照してください。
ADMIN
ユーザーに使用したパスワードを覚えておいてください。デモンストレーションの目的では、ADMIN
ユーザーを使用しますが、Oracle SQL Developerまたはデータベース・アクションを使用して他のデータベース・ユーザーを作成することをお薦めします。
クライアント資格証明の取得
-
Autonomous Databaseインスタンスからウォレット・ファイルをダウンロードして、Autonomous Databaseインスタンスにアクセスするために必要なクライアント・セキュリティ資格証明およびネットワーク構成設定を含むzipファイルを取得します。
クライアント・セキュリティ資格証明(
wallet.zip
ファイル)を取得します:- ADMINユーザー: Oracle Cloud Infrastructure Consoleで、「データベース接続」をクリックします。クライアント資格証明のダウンロードを参照してください。
- 他のユーザー(非管理者): 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ファイルをダウンロードします。このサンプル・アプリケーションは、Sales History (SH)サンプル・スキーマを使用し、
SH.CUSTOMERS
表の20個のレコードを表示します。 - ADBQuickStart.javaファイルを変更して、Oracle Autonomous Databaseの接続情報を含めます。
- DB_USER: You can use
ADMIN
, the user created by default when the Oracle Autonomous Database is created (if you create another OracleAutonomous Database user, you can use that user instead). - 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名です。使用可能なネット・サービス名は、クライアント資格証明zipファイルの一部である
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: You can use
ADBQuickStart.java
ファイルに対する変更を保存します。
手順
IntelliJおよびMavenまたはGradleを使用してAutonomous Databaseに接続できます。
- Mavenプロジェクトを作成します。
- 「ファイル」メニューから、「新規」、「プロジェクト」の順に選択します。
- 左側の「Maven」を選択し、JDKの最新バージョンを「Project SDK」として選択します。
- 「次へ」をクリックします。
- 「名前」にADBQuickstartを指定します。
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を使用するために必要)、oraclepki.jar
、osdt_core.jar
、osdt_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>
- ADB QuickStartを構築して実行します。ADBQuickStart.javaを右クリックし、「ビルド・モジュールADBQuickStart」をクリックして、Javaコードをコンパイルします。Javaコードにコンパイル・エラーがなく、最新のJDKバージョンを使用していることを確認してください。
- サンプルJavaプログラムを実行します。ADBQuickStart.javaを右クリックして、「ADBQuickStart.main()の実行」をクリックします。コンソールにデータベース・パスワードを入力してください。
サンプル出力:
次の画面に示すように、問合せされた行が成功メッセージとともに表示されます。
ノート:
ノート: ファイアウォールの内側からOracle Autonomous Databaseに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルの実行中にファイアウォールの外側にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.ora
ファイルを更新してください。
- Gradleのダウンロードおよびビルド手順については、Gradle Guideの手順に従って、Gradleコマンドを使用する前にPATH変数を設定します。最初のステップとして、次のコマンドを使用してGradleプロジェクトを作成します。「生成するプロジェクトのタイプの選択」に「2:application」を選択してください。また、ソース・パッケージ(default:temp)の場合は、
com.oracle.jdbctest
を使用します。gradle init
- ADBQuickStart.javaファイルを
src/main/java/com/oracle/jdbctest
ディレクトリにコピーします。 - 次の変更で
build.gradle
ファイルを変更します。mavenCentral()
をリポジトリとして追加します。- 依存関係としてOracle JDBCドライバを追加します。
ノート:
ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar
)を、ucp.jar
(クライアント側接続プールとしてUCPを使用するために必要)、oraclepki.jar
、osdt_core.jar
、osdt_cert.jar
とともにダウンロードします。Oracle Autonomous Databaseへの接続中にOracleウォレットを使用するには、これらのJARが必要です。詳細は、Maven Centralガイドを参照してください。
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 }
- Gradleアプリケーションを作成します。
build.gradle
ファイルが存在するディレクトリにいることを確認します。次のコマンドを使用して、Javaコードをコンパイルします。./gradlew build
- サンプルJavaプログラムを実行します。
./gradlew run
出力例: 次の画面に示すように、問合せされた行と成功メッセージが表示されます。
ノート:
ファイアウォールの内側からOracle Autonomous Databaseに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルの実行中にファイアウォールの外側にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.ora
ファイルを更新してください。