在不使用构建工具的情况下使用 JDBC 连接到 Oracle Database

您可以手动建立与 Oracle Autonomous Database 的连接,而无需任何构建工具。

Prerequisites

以下各节提供了有关在使用 Oracle JDBC 驱动程序和通用连接池将 Java 应用程序连接到 Oracle Autonomous Database 之前需要执行的任务的信息。请参阅适当的先决条件,具体取决于预配自治 Exadata VM 集群 (AVMC) 期间选择的验证类型。默认情况下,预配 AVMC 时会启用单向 TLS 连接。有关更多信息,请参见 Create an Autonomous Exadata VM Cluster

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

预配 Oracle Autonomous Database 实例

您需要访问 Oracle Autonomous Database。如果您尚未预配 Autonomous Database on Dedicated Exadata Infrastructure,请参阅从 Autonomous 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 文件。此示例应用程序使用销售历史记录 (SH) 示例模式,并显示 SH.CUSTOMERS 表中的 20 条记录。
  2. 修改 ADBQuickStart.java 文件以包括 Oracle Autonomous Database 连接信息:
    • DB_USER :可以使用 ADMIN,即在创建 Oracle Autonomous Database 时默认创建的用户(如果您创建了另一个 Oracle Autonomous Database 用户,则可以改用该用户)。
    • DB_PASSWORD :使用数据库用户的密码。If connecting as the ADMIN user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database.出于安全原因,您需要在运行示例时通过控制台输入密码。
    • DB_URL :按照查看 Autonomous Database 的连接字符串中的说明获取 Autonomous 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 Database 实例

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

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

获取客户端身份证明

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

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

    • ADMIN 用户:在 Oracle Cloud Infrastructure 控制台上,单击数据库连接。请参见 Download Client Credentials
    • 其他用户(非管理员):从管理员获取 Autonomous 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 Database 连接信息:
    • DB_USER :可以使用 ADMIN,即在创建 Oracle Autonomous Database 时默认创建的用户(如果您创建了另一个 Oracle Autonomous Database 用户,则可以改用该用户)。
    • DB_PASSWORD :使用数据库用户的密码。If connecting as the ADMIN user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database.出于安全原因,您需要在运行示例时通过控制台输入密码。
    • DB_URL :输入网络服务名 (TNS Alias) DBName_medium ,其中 DBName 是预配 Oracle Autonomous Database 时在 Create Autonomous Database 步骤中输入的 Oracle Autonomous Database 名称。在 tnsnames.ora 文件中可以看到可用的网络服务名,该文件是客户机凭证 zip 文件的一部分。

      TNS_ADMIN 应指向已解压缩 Oracle Autonomous 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 文件的更改。

过程

  1. 从 OTN 下载 the19c 版本的 ojdbc8-full.tar.gz ,并将内容解压缩到类路径。

    注意:

    ojdbc8-full.tar.gz 包含最新的 JDBC 驱动程序 ojdbc8.jar、ucp.jar(使用 UCP 作为客户端连接池所需的 JAR)、oraclepki.jarosdt_core.jarosdt_cert.jar。在连接到 Oracle Autonomous Database 时使用 Oracle Wallets 需要这些 JAR。
  2. 编译 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
  3. 运行示例 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

    输出样例:

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



注意:

如果您从防火墙后方连接到 Oracle Autonomous Database,您可能会遇到连接超时错误。运行此示例时,请确保位于防火墙之外,或者更新 tnsnames.ora 文件以使用 HTTPS 代理。