使用 JDBC 和 Eclipse 连接到 Oracle Autonomous AI Database

您可以使用 Eclipse IDE 与 Oracle Autonomous AI Database 建立连接。以下各节提供了有关如何使用 Maven 项目或 Gradle 项目首次连接到 Oracle Autonomous AI Database 的信息。在连接到 Oracle Autonomous AI Database 之前,请确保您已完成“先决条件”中所述的步骤。

Prerequisites

以下各节提供有关使用 Oracle JDBC 驱动程序和通用连接池将 Java 应用程序连接到 Oracle Autonomous AI Database 之前需要执行的任务的信息。Refer to the appropriate prerequisites depending on the authentication type selected during provisioning of your Autonomous Exadata VM Cluster (AVMC).默认情况下,预配 AVMC 时会启用单向 TLS 连接。有关详细信息,请参阅创建自治 Exadata VM 集群

您可以在 AVMC 的“详细信息”页上找到验证类型。有关说明,请参见 View Details of an Autonomous Exadata VM Cluster

预配 Oracle Autonomous AI Database 实例

您需要访问 Oracle Autonomous AI Database。如果您尚未预配,请参阅Autonomous AI Database on Dedicated Exadata Infrastructure 开始

请记住用于 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 文件。此示例应用程序使用销售历史记录 (SH) 示例模式,并显示 SH.CUSTOMERS 表中的 20 条记录。
  2. 修改 ADBQuickStart.java 文件以包括 Oracle Autonomous AI Database 连接信息:
    • DB_USER :您可以使用 ADMIN,这是在创建 Oracle Autonomous AI Database 时默认创建的用户(如果您创建了另一个 Oracle Autonomous AI Database 用户,则可以改用该用户)。
    • 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: Obtain the connection string for your Autonomous AI Database by following the instructions in View Connection Strings for an 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。如果您尚未预配,请参阅Autonomous AI Database on Dedicated Exadata Infrastructure 开始

请记住用于 ADMIN 用户的密码。出于演示目的,我们将使用 ADMIN 用户,但我们的建议是使用 Oracle SQL Developer 或 Database Actions 创建其他数据库用户。

获取客户端身份证明

  1. Autonomous AI Database 实例下载 wallet 文件,以获得包含访问 Autonomous AI Database 实例所需的客户端安全身份证明和网络配置设置的 zip 文件。

    获取客户机安全凭证(wallet.zip 文件):

    • ADMIN 用户:在 Oracle Cloud Infrastructure 控制台上,单击数据库连接。请参见 Download Client Credentials
    • 其他用户(非管理员):从管理员处获取 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 文件。此示例应用程序使用销售历史记录 (SH) 示例模式,并显示 SH.CUSTOMERS 表中的 20 条记录。
  2. 修改 ADBQuickStart.java 文件以包括 Oracle Autonomous AI Database 连接信息:
    • DB_USER :您可以使用 ADMIN,这是在创建 Oracle Autonomous AI Database 时默认创建的用户(如果您创建了另一个 Oracle Autonomous AI Database 用户,则可以改用该用户)。
    • 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 名称。可用的网络服务名可在 tnsnames.ora 文件中看到,该文件是客户机凭证 zip 文件的一部分。

      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 文件的更改。

过程

您可以使用 Eclipse 以及 Maven 或 Gradle 连接到 Autonomous AI Database

  1. 创建 Maven 项目。
    1. File(文件)菜单中选择 New(新建),然后选择 New Maven Project(新建 Maven 项目)。您可以使用 maven archetype 或选择创建简单项目(跳过 archetype 选择)
    2. 为您的 Maven 项目选择 GAV。这些内容将显示在项目的 pom.xml 文件中。
      • 组 IDcom.oracle
      • 对象 IDADBquickstart
      • 版本:保留为 0.0.1-SNAPSHOT
  2. 创建 ADBQuickStart.java 文件。
    1. 右键单击 src/main/java,选择新建,然后选择
    2. 输入下列值,然后单击完成
      • 程序包com.oracle.jdbctest
      • 名称ADBQuickStart

      注意:

      确保将 ADBQuickStart.java 文件的内容复制到创建的新文件。
  3. 使用以下更改修改 pom.xml 文件:添加 Oracle JDBC 驱动程序作为依赖项。

    ojdbc8-production 将下载 Oracle JDBC 驱动程序 (ojdbc8.jar) 以及 ucp.jar(使用 UCP 作为客户端连接池时必需)、oraclepki.jarosdt_core.jarosdt_cert.jar。These 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. 构建并运行示例 Java 程序。确保在 Java 代码中没有任何编译错误,并且您使用的是最新 JDK 版本。右键单击 ADBQuickStart.java 。单击作为运行,然后单击 Java 应用程序以运行示例 Java 程序。此时将提示您输入数据库口令。

    输入密码后,将显示结果。

    输出样例

    此时将显示查询的行以及成功消息,如以下屏幕中所示:



    注意:

    如果您从防火墙后连接到 Oracle Autonomous AI Database,则可能会遇到连接超时错误。运行此样例时,请确保位于防火墙之外,或者更新 tnsnames.ora 文件以使用 HTTPS 代理。
  1. 按照 Gradle Guide 中有关 Gradle 下载和构建说明的说明进行操作,并在使用 Gradle 命令之前设置 PATH 变量。第一步,使用以下命令创建 Gradle 项目。确保为选择要生成的项目类型选择 2:application 。此外,对于 Source package (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。These JARs are required for using Oracle Wallets while connecting to Oracle Autonomous AI Database.

      有关其他信息,请参阅《 Maven Central Guide 》

    • 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,则可能会遇到连接超时错误。运行此样例时,请确保位于防火墙之外,或者更新 tnsnames.ora 文件以使用 HTTPS 代理。