EclipseでのJDBCを使用したOracle Autonomous AI Databaseへの接続

Eclipse IDEを使用してOracle Autonomous AI Databaseへの接続を確立できます。次の項では、MavenプロジェクトまたはGradLEプロジェクトを使用してOracle Autonomous AI Databaseに最初に接続する方法について説明します。Oracle Autonomous AI Databaseに接続する前に、「前提条件」で説明されているステップが完了していることを確認します。

前提条件

次の各項では、Oracle JDBCドライバおよびユニバーサル接続プールを使用してJavaアプリケーションをOracle Autonomous AI Databaseに接続する前に実行する必要があるタスクについて説明します。Autonomous Exadata VMクラスタ(AVMC)のプロビジョニング中に選択した認証タイプに応じて、適切な前提条件を参照してください。デフォルトでは、AVMCをプロビジョニングすると一方向TLS接続が有効になります。詳細は、Autonomous Exadata VMクラスタの作成を参照してください。

認証タイプは、AVMCの「詳細」ページで確認できます。手順については、Autonomous Exadata VMクラスタの詳細の表示を参照してください。

Oracle Autonomous AI Databaseインスタンスのプロビジョニング

Oracle Autonomous AI Databaseへのアクセスが必要です。まだプロビジョニングしていない場合は、専用Exadataインフラストラクチャ上のAutonomous AI 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ファイルをダウンロードします。このサンプル・アプリケーションは、Sales History (SH)サンプル・スキーマを使用し、SH.CUSTOMERS表の20レコードを表示します。

  2. ADBQuickStart.javaファイルを変更して、Oracle Autonomous AI Databaseの接続情報を含めます。

    • DB_USER: Oracle Autonomous AI Databaseの作成時にデフォルトで作成されるユーザーであるADMINを使用できます(別のOracleAutonomous AI Databaseユーザーを作成する場合は、かわりにそのユーザーを使用できます)。

    • DB_PASSWORD: データベース・ユーザーのパスワードを使用します。ADMINユーザーとして接続する場合は、Oracle Autonomous AI Databaseのプロビジョニング中に「Autonomous AI Databaseの作成」ステップで選択したパスワードに設定します。セキュリティ上の理由から、サンプルを実行するときにコンソールからパスワードを入力する必要があります。

    • DB_URL: Autonomous AIデータベースの接続文字列の表示の手順に従って、Autonomous AIデータベースの接続文字列を取得します。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 AI Databaseインスタンスのプロビジョニング

Oracle Autonomous AI Databaseへのアクセスが必要です。まだプロビジョニングしていない場合は、専用Exadataインフラストラクチャ上のAutonomous AI Databaseを開始する前にを参照してください。

ADMINユーザーに使用したパスワードを覚えておいてください。デモンストレーションの目的では、ADMINユーザーを使用しますが、Oracle SQL DeveloperまたはDatabase Actionsを使用して他のデータベース・ユーザーを作成することをお薦めします。

クライアント資格証明の取得

  1. Autonomous AI Databaseインスタンスからウォレット・ファイルをダウンロードして、Autonomous AI Databaseインスタンスへのアクセスに必要なクライアント・セキュリティ資格証明およびネットワーク構成設定を含むZipファイルを取得します。

    クライアント・セキュリティ資格証明(wallet.zipファイル)を取得します。

    • ADMINユーザー: Oracle Cloud Infrastructure Consoleで、「データベース接続」をクリックします。クライアント資格証明のダウンロードを参照してください。

    • 他のユーザー(非管理者): Autonomous AI 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ファイルをダウンロードします。このサンプル・アプリケーションは、Sales History (SH)サンプル・スキーマを使用し、SH.CUSTOMERS表の20レコードを表示します。

  2. ADBQuickStart.javaファイルを変更して、Oracle Autonomous AI Databaseの接続情報を含めます。

    • DB_USER: Oracle Autonomous AI Databaseの作成時にデフォルトで作成されるユーザーであるADMINを使用できます(別のOracleAutonomous AI Databaseユーザーを作成する場合は、かわりにそのユーザーを使用できます)。

    • DB_PASSWORD: データベース・ユーザーのパスワードを使用します。ADMINユーザーとして接続する場合は、Oracle Autonomous AI Databaseのプロビジョニング中に「Autonomous AI Databaseの作成」ステップで選択したパスワードに設定します。セキュリティ上の理由から、サンプルを実行するときにコンソールからパスワードを入力する必要があります。

    • DB_URL: ネット・サービス名(TNS別名)DBName_mediumを入力します。ここで、DBNameは、Oracle Autonomous AI Databaseのプロビジョニング中に「Autonomous AI Databaseの作成」ステップで入力したOracle Autonomous AI Database名です。使用可能なネット・サービス名は、クライアント資格証明のZipファイルの一部であるtnsnames.oraファイルで確認できます。

      TNS_ADMINは、Oracle Autonomous AI 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ファイルへの変更を保存します。

手順

Autonomous AI Databaseには、EclipseとMavenまたはGradleのいずれかを使用して接続できます。

  1. Mavenプロジェクトを作成します。

    1. 「ファイル」メニューから、「新規」を選択し、「新規Mavenプロジェクト」を選択します。maven原型を使用するか、「Create a simple project (skip archetype selection)」(原型の選択がスキップ)を選択します。

    2. MavenプロジェクトのGAVを選択します。これらは、プロジェクトのpom.xmlファイルに表示されます。

      • グループID: com.oracle

      • アーティファクトID: ADBquickstart

      • Version: 0.0.1-SNAPSHOTのままにします

  2. ADBQuickStart.javaファイルを作成します。

    1. src/main/javaを右クリックして、「New」「Class」の順に選択します。

    2. 次の値を入力して、「Finish」をクリックします。

      • パッケージ: com.oracle.jdbctest

      • 名前: ADBQuickStart

        ノート: ADBQuickStart.javaファイルの内容を、作成された新しいファイルにコピーしてください。

  3. 次の変更でpom.xmlファイルを変更します: 依存関係としてOracle JDBCドライバを追加します。

    ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)をucp.jar (UCPはクライアント側接続プールとして使用するために必要なJARファイル)とともにダウンロードします)、oraclepki.jarosdt_core.jarosdt_cert.jar。これらのJARは、Oracle Autonomous AI Databaseへの接続時にOracleウォレットを使用するために必要です。

    <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. サンプルJavaプログラムを構築して実行します。Javaコードにコンパイル・エラーがなく、JDKで最新のバージョンを使用していることを確認してください。「ADBQuickStart.java」を右クリックします。「Run As」をクリックし、「Java Application」をクリックしてサンプルJavaプログラムを実行します。データベース・パスワードの入力を求められます。

    パスワードを入力すると、結果が表示されます。

    出力例:

    次の画面に示すように、問合せされた行が成功メッセージとともに表示されます。

    図Eclipse_build_and_run.pngの説明

    ノート:ファイアウォールの内側からOracle Autonomous AI Databaseに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルの実行中にファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新します。

  1. Gradleのダウンロードおよびビルドの手順については、Gradleガイドの手順に従い、Gradleコマンドを使用する前にPATH変数を設定します。最初のステップとして、次のコマンドを使用してGradleプロジェクトを作成します。「Select type of project to generate」「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とともにダウンロードします。これらのJARは、Oracle Autonomous AI Databaseへの接続中にOracleウォレットを使用するために必要です。

    詳細は、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
    }
  4. Gradleアプリケーションを構築します。build.gradleファイルが存在するディレクトリにいることを確認してください。次のコマンドを使用してJavaコードをコンパイルします。

    ./gradlew build
  5. サンプルJavaプログラムを実行します。

    ./gradlew run

    出力例:

    次の画面に示すように、問合せされた行が成功メッセージとともに表示されます。

    図gradle_build_and_run.pngの説明

    ノート:ファイアウォールの内側からOracle Autonomous AI Databaseに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルの実行中にファイアウォールの外にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新します。