JDBCを使用したOracle Autonomous AI Databaseへの接続(IntelliJを使用)

IntelliJ 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またはデータベース・アクションを使用して他のデータベース・ユーザーを作成することをお薦めします。

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: You can use ADMIN, the user created by default when the Oracle Autonomous AI Database is created (if you create another OracleAutonomous AI 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 AI Database step while provisioning Oracle Autonomous AI Database.セキュリティ上の理由から、サンプルを実行するときにコンソールからパスワードを入力する必要があります。
    • DB_URL: Autonomous AI Databaseの接続文字列を取得するには、Autonomous AI 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"
  3. ADBQuickStart.javaファイルに対する変更を保存します。

トラブルシューティングおよびデバッグ: エラーが発生した場合は、「トラブルシューティングのヒント」ページで役立つヒントを参照してください。

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

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

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

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

  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: You can use ADMIN, the user created by default when the Oracle Autonomous AI Database is created (if you create another OracleAutonomous AI 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 AI Database step while provisioning Oracle 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ファイルに対する変更を保存します。

手順

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

  1. Mavenプロジェクトを作成します。
    1. 「ファイル」メニューから、「新規」「プロジェクト」の順に選択します。
    2. 左側の「Maven」を選択し、JDKの最新バージョンを「Project SDK」として選択します。
    3. 「次へ」をクリックします。
    4. 「名前」にADBQuickstartを指定します。
  2. ADBQuickStart.javaファイルを作成します。
    1. src/main/javaを右クリックします。
    2. 「新規」「Javaクラス」の順に選択します。
    3. com.oracle.jdbctest.ADBQuickStart.javaと入力します。これにより、必要なパッケージ構造も作成されます。ADBQuickstart.javaファイルの内容をこの新しいファイルにコピーしてください。
  3. 次の変更でpom.xmlファイルを変更します: 依存関係としてOracle JDBCドライバを追加します。

    ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)をucp.jar (UCPはクライアント側接続プールとして使用するために必要なJARファイル)とともにダウンロードします。oraclepki.jarosdt_core.jarosdt_cert.jarThese JARs are required for using Oracle Wallets while connecting to Oracle Autonomous AI 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>
  4. ADB QuickStartを構築して実行します。ADBQuickStart.javaを右クリックし、「ビルド・モジュールADBQuickStart」をクリックして、Javaコードをコンパイルします。Javaコードにコンパイル・エラーがなく、最新のJDKバージョンを使用していることを確認してください。
  5. サンプルJavaプログラムを実行します。ADBQuickStart.javaを右クリックして、「ADBQuickStart.main()の実行」をクリックします。コンソールにデータベース・パスワードを入力してください。

    サンプル出力:

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



ノート:

ノート: ファイアウォールの内側からOracle Autonomous AI Databaseに接続すると、接続タイムアウト・エラーが発生する可能性があります。このサンプルの実行中にファイアウォールの外側にいることを確認するか、HTTPSプロキシを使用するようにtnsnames.oraファイルを更新してください。
  1. Gradleのダウンロードおよびビルド手順については、Gradle Guideの手順に従って、Gradleコマンドを使用する前にPATH変数を設定します。最初のステップとして、次のコマンドを使用してGradleプロジェクトを作成します。「生成するプロジェクトのタイプの選択」「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 downloads Oracle JDBC driver (ojdbc8.jar) along with ucp.jar (required for using UCP as a client side connection pool), oraclepki.jar, osdt_core.jar, osdt_cert.jar. These JARs are required for using Oracle Wallets while connecting to Oracle Autonomous AI Database.

      詳細は、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

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



ノート:

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