使用 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 之前需要执行的任务的信息。根据在预配自治 Exadata VM 集群 (AVMC) 期间选择的验证类型,请参阅相应的先决条件。默认情况下,预配 AVMC 时会启用单向 TLS 连接。有关详细信息,请参阅创建自治 Exadata VM 集群。
可以在 AVMC 的“Details(详细信息)”页面上找到验证类型。有关说明,请参见 View Details of an Autonomous Exadata VM Cluster 。
预配 Oracle Autonomous AI Database 实例
您需要访问 Oracle Autonomous AI Database。如果尚未预配自治 AI 数据库,请参阅在专用 Exadata 基础结构上使用自治 AI 数据库之前。
请记住您用于 ADMIN 用户的密码。出于演示目的,我们将使用 ADMIN 用户,但我们的建议是使用 Oracle SQL Developer 或 Database Actions 创建其他数据库用户。
安装 JDK 8
下载最新的 JDK 8 或更高的 JDK 版本。
注:请确保使用 JDK8u162 或更高版本。使用 java -version 检查已安装的 JDK 版本。要检查 JDBC 驱动程序版本,请键入 java -jar ojdbc8.jar。
从 Github 下载示例程序
-
从 Github 下载 ADBQuickStart.java 文件。此示例应用程序使用销售历史记录 (SH) 示例方案,并显示
SH.CUSTOMERS表中的 20 条记录。 -
修改 ADBQuickStart.java 文件以包括您的 Oracle Autonomous AI Database 连接信息:
-
DB_USER :可以使用
ADMIN,这是在创建 Oracle Autonomous AI Database 时默认创建的用户(如果您创建了另一个 OracleAutonomous AI Database 用户,则可以改用该用户)。 -
DB_PASSWORD :使用数据库用户的密码。如果以
ADMIN用户身份连接,请将其设置为在预配 Oracle Autonomous AI Database 时在创建自治 AI 数据库步骤中选择的密码。出于安全原因,在运行样例时需要通过控制台输入密码。 -
DB_URL :按照 View Connection Strings for an Autonomous AI Database 中的说明获取自治 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"
-
-
保存对
ADBQuickStart.java文件的更改。
故障排除和调试:
如果您遇到任何错误,请参阅故障排除提示页以了解一些有用的提示。
预配 Oracle Autonomous AI Database 实例
您需要访问 Oracle Autonomous AI Database。如果尚未预配自治 AI 数据库,请参阅在专用 Exadata 基础结构上使用自治 AI 数据库之前。
请记住您用于 ADMIN 用户的密码。出于演示目的,我们将使用 ADMIN 用户,但建议使用 Oracle SQL Developer 或 Database Actions 创建其他数据库用户。
获取客户端身份证明
-
从自治 AI 数据库实例下载 wallet 文件以获取包含访问自治 AI 数据库实例所需的客户端安全身份证明和网络配置设置的 zip 文件。
获取客户机安全凭证(
wallet.zip文件):-
管理用户:在 Oracle Cloud Infrastructure 控制台上,单击数据库连接。请参阅下载客户端身份证明。
-
其他用户(非管理员):从管理员处获取自治 AI 数据库实例的 Oracle Wallet。
注:保护
wallet.zip文件及其内容,以防止未经授权的数据库访问。
-
-
解压缩客户机凭证文件 (
wallet.zip)。
安装 JDK 8
下载最新的 JDK 8 或更高的 JDK 版本。
注:请确保使用 JDK8u162 或更高版本。使用 java -version 检查已安装的 JDK 版本。要检查 JDBC 驱动程序版本,请键入 java -jar ojdbc8.jar。
从 Github 下载示例程序
-
从 Github 下载 ADBQuickStart.java 文件。此示例应用程序使用销售历史记录 (SH) 示例方案,并显示
SH.CUSTOMERS表中的 20 条记录。 -
修改 ADBQuickStart.java 文件以包括您的 Oracle Autonomous AI Database 连接信息:
-
DB_USER :可以使用
ADMIN,这是在创建 Oracle Autonomous AI Database 时默认创建的用户(如果您创建了另一个 OracleAutonomous AI Database 用户,则可以改用该用户)。 -
DB_PASSWORD :使用数据库用户的密码。如果以
ADMIN用户身份连接,请将其设置为在预配 Oracle Autonomous AI Database 时在创建自治 AI 数据库步骤中选择的密码。出于安全原因,在运行样例时需要通过控制台输入密码。 -
DB_URL :输入网络服务名(TNS 别名) DBName_medium ,其中 DBName 是预配 Oracle Autonomous AI Database 时在创建自治 AI 数据库步骤中输入的 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"
-
-
保存对
ADBQuickStart.java文件的更改。
过程
您可以使用 Eclipse 以及 Maven 或 Gradle 连接到自治 AI 数据库。
-
创建 Maven 项目。
-
在文件菜单,选择新建,然后选择新建 Maven 项目。您可以使用 maven archetype 或选择创建简单项目(跳过 archetype 选择)。
-
为您的 Maven 项目选择 GAV。这些文件将显示在项目的
pom.xml文件中。-
组 ID :
com.oracle -
对象 ID :
ADBquickstart -
版本:将其保留为
0.0.1-SNAPSHOT
-
-
-
创建
ADBQuickStart.java文件。-
右键单击
src/main/java,选择 New(新建),然后选择 Class(类)。 -
输入以下值,然后单击 Finish(完成)。
-
程序包:
com.oracle.jdbctest -
名称:
ADBQuickStart注:请确保将 ADBQuickStart.java 文件的内容复制到创建的新文件。
-
-
-
使用以下更改修改
pom.xml文件:添加 Oracle JDBC 驱动程序作为相关项。ojdbc8-production将下载 Oracle JDBC 驱动程序 (ojdbc8.jar) 以及ucp.jar(使用 UCP 作为客户端连接池时必需)、oraclepki.jar、osdt_core.jar和osdt_cert.jar。连接到 Oracle Autonomous AI Database 时,使用 Oracle Wallets 需要这些 JAR。<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> -
构建并运行示例 Java 程序。请确保 Java 代码中没有任何编译错误,并且您使用的是最新 JDK 版本。右键单击 ADBQuickStart.java 。单击运行方式,然后单击 Java 应用程序以运行示例 Java 程序。系统将提示您输入数据库口令。
输入密码后,将显示结果。
输出样例:
将显示查询的行以及成功消息,如以下屏幕中所示:

插图 eclipse_build_and_run.png 的说明
注:如果您从防火墙后连接到 Oracle Autonomous AI Database,则可能会遇到连接超时错误。运行此样例时,请确保位于防火墙之外,或者更新
tnsnames.ora文件以使用 HTTPS 代理。
-
按照 Gradle Guide 中有关 Gradle 下载和构建说明的说明进行操作,并在使用 Gradle 命令之前设置 PATH 变量。作为第一步,使用以下命令创建 Gradle 项目。确保为选择要生成的项目类型选择 2:application 。此外,对于 Source package (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 AI Database 时,使用 Oracle Wallets 需要这些 JAR。有关其他信息,请参见《 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 }
-
-
构建 Gradle 应用程序。确保您位于
build.gradle文件所在的目录中。使用以下命令编译 Java 代码:./gradlew build -
运行示例 Java 程序。
./gradlew run样例输出:
将显示查询的行以及成功消息,如以下屏幕中所示:

插图 gradle_build_and_run.png 的说明
注:如果您从防火墙后连接到 Oracle Autonomous AI Database,则可能会遇到连接超时错误。运行此样例时,请确保位于防火墙之外,或者更新
tnsnames.ora文件以使用 HTTPS 代理。