ビルド・ツールを使用しないJDBCを使用した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と入力します。

手順

  1. OTNからojdbc8-full.tar.gzの19cバージョンをダウンロードし、コンテンツをクラスパスに解凍します。

ノート: ojdbc8-full.tar.gzには、最新のJDBCドライバojdbc8.jar、ucp.jar (クライアント側接続プールとしてUCPを使用するための必須JAR)、oraclepki.jarosdt_core.jarosdt_cert.jarが含まれています。これらのJARは、Oracle Autonomous AI Databaseへの接続時にOracleウォレットを使用するために必要です。

  1. 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
  2. サンプル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

    出力例:

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

    no_build_and_run.pngの説明が続きます

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