Conexión a Oracle Database mediante JDBC sin una herramienta de creación

Puede establecer una conexión a Oracle Autonomous Database manualmente sin ninguna herramienta de creación.

Requisitos

En las siguientes secciones, se proporciona información sobre las tareas que debe realizar antes de conectar las aplicaciones Java a Oracle Autonomous Database mediante el controlador JDBC de Oracle y Universal Connection Pool. Consulte los requisitos adecuados en función del tipo de autenticación seleccionado durante el aprovisionamiento del cluster de VM de Exadata autónomo (AVMC). Por defecto, las conexiones TLS unidireccionales se activan al aprovisionar un AVMC. Consulte Creación de un cluster de VM de Exadata autónomo para obtener más información.

Puede encontrar el tipo de autenticación en la página Detalles de su AVMC. Consulte Ver detalles de un cluster de VM de Exadata autónomo para obtener instrucciones.

Aprovisionamiento de una instancia de Oracle Autonomous Database

Necesita acceso a una instancia de Oracle Autonomous Database. Consulte Antes de empezar a utilizar Autonomous Database en una infraestructura de Exadata dedicada si aún no ha aprovisionado ninguna.

Recuerde la contraseña que ha utilizado para el usuario ADMIN. Para la demostración, utilizaremos el usuario ADMIN, pero nuestra recomendación es crear otros usuarios de base de datos mediante Oracle SQL Developer o Database Actions.

Instalación de JDK 8

Descargue las últimas JDK 8 o las versiones de JDK superiores.

Note:

Asegúrese de utilizar JDK8u162 o una versión posterior. Utilice java -version para comprobar la versión de JDK que ha instalado. Para comprobar la versión del controlador JDBC, escriba java -jar ojdbc8.jar.

Descargar un programa de muestra de Github

  1. Descargue el archivo ADBQuickStart.java de Github. Esta aplicación de ejemplo utiliza el esquema de ejemplo Sales History (SH) y muestra 20 registros de la tabla SH.CUSTOMERS.
  2. Modifique el archivo ADBQuickStart.java para incluir la información de conexión de Oracle Autonomous Database:
    • DB_USER: puede utilizar ADMIN, el usuario creado por defecto cuando se crea Oracle Autonomous Database (si crea otro usuario de OracleAutonomous Database, puede utilizar ese usuario en su lugar).
    • DB_PASSWORD: utilice la contraseña del usuario de la base de datos. Si se conecta como usuario ADMIN, defínalo en la contraseña que haya elegido durante el paso Crear instancia de Autonomous Database al aprovisionar Oracle Autonomous Database. Por motivos de seguridad, debe introducir la contraseña a través de la consola al ejecutar el ejemplo.
    • DB_URL: obtenga la cadena de conexión de Autonomous Database siguiendo las instrucciones de Visualización de cadenas de conexión para una instancia de Autonomous Database. Si está utilizando directamente en el programa Java, debe omitir " en la cadena de conexión con \"

    Un archivo Java de inicio rápido de ejemplo tiene el siguiente aspecto:

    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. Guardar los cambios en el archivo ADBQuickStart.java.

Solución de problemas y depuración: si encuentra algún error, consulte la página Consejos de solución de problemas para obtener algunas indicaciones útiles.

Aprovisionamiento de una instancia de Oracle Autonomous Database

Necesita acceso a una instancia de Oracle Autonomous Database. Consulte Antes de empezar a utilizar Autonomous Database en una infraestructura de Exadata dedicada si aún no ha aprovisionado ninguna.

Recuerde la contraseña que ha utilizado para el usuario ADMIN. Para la demostración, utilizaremos el usuario ADMIN, pero nuestra recomendación es crear otros usuarios de base de datos mediante Oracle SQL Developer o Database Actions.

Obtener credenciales de cliente

  1. Descargue un archivo de cartera de la instancia de Autonomous Database para obtener un archivo zip que contiene las credenciales de seguridad del cliente y los valores de configuración de red necesarios para acceder a una instancia de Autonomous Database.

    Obtenga las credenciales de seguridad del cliente (archivo wallet.zip):

    • Usuario ADMIN: en la consola de Oracle Cloud Infrastructure, haga clic en Conexión a base de datos. Consulte Descarga de credenciales de cliente.
    • Otro usuario (no administrador): obtenga Oracle Wallet del administrador para su instancia de Autonomous Database.

    Note:

    Proteja el archivo wallet.zip y su contenido para evitar el acceso no autorizado a la base de datos.
  2. Elimine el archivo de credenciales de cliente (wallet.zip).

Instalación de JDK 8

Descargue las últimas JDK 8 o las versiones de JDK superiores.

Note:

Asegúrese de utilizar JDK8u162 o una versión posterior. Utilice java -version para comprobar la versión de JDK que ha instalado. Para comprobar la versión del controlador JDBC, escriba java -jar ojdbc8.jar.

Descargar un programa de muestra de Github

  1. Descargue el archivo ADBQuickStart.java de Github. Esta aplicación de ejemplo utiliza el esquema de ejemplo Sales History (SH) y muestra 20 registros de la tabla SH.CUSTOMERS.
  2. Modifique el archivo ADBQuickStart.java para incluir la información de conexión de Oracle Autonomous Database:
    • DB_USER: puede utilizar ADMIN, el usuario creado por defecto cuando se crea Oracle Autonomous Database (si crea otro usuario de OracleAutonomous Database, puede utilizar ese usuario en su lugar).
    • DB_PASSWORD: utilice la contraseña del usuario de la base de datos. Si se conecta como usuario ADMIN, defínalo en la contraseña que haya elegido durante el paso Crear instancia de Autonomous Database al aprovisionar Oracle Autonomous Database. Por motivos de seguridad, debe introducir la contraseña a través de la consola al ejecutar el ejemplo.
    • DB_URL: introduzca el nombre del servicio de red (alias de TNS) DBName_medium, donde DBName es el nombre de Oracle Autonomous Database introducido durante el paso Crear instancia de Autonomous Database al aprovisionar Oracle Autonomous Database. Los nombres de servicio de red disponibles se pueden ver en el archivo tnsnames.ora, que forma parte del archivo zip de credenciales de cliente.

      TNS_ADMIN debe apuntar a la ubicación en la que ha descomprimido las credenciales de cliente de Oracle Autonomous Database.

    Un archivo Java de inicio rápido de ejemplo tiene el siguiente aspecto:

    DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName" DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"
  3. Guardar los cambios en el archivo ADBQuickStart.java.

Procedimiento

  1. Descargue la versión the19c de ojdbc8-full.tar.gz desde OTN y descomprima el contenido en la classpath.

    Note:

    ojdbc8-full.tar.gz contiene el controlador JDBC más reciente ojdbc8.jar, ucp.jar (JAR necesario para utilizar UCP como pool de conexiones de cliente), oraclepki.jar, osdt_core.jar, osdt_cert.jar. Estos archivos JAR son necesarios para utilizar carteras de Oracle al conectarse a Oracle Autonomous Database.
  2. Compile el programa Java. Asegúrese de proporcionar la ruta correcta para los archivos JAR necesarios en la classpath:
    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. Ejecute el programa Java de ejemplo. Asegúrese de proporcionar la ruta correcta para los archivos JAR necesarios en la classpath:
    java -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:/lib/oraclepki.jar:./lib/osdt_core.jar:./lib/osdt_cert.jar:. com.oracle.jdbctest.ADBQuickStart

    Salida de ejemplo:

    Se muestran las filas consultadas junto con un mensaje de que se ha realizado correctamente, como se muestra en la siguiente pantalla:



Note:

Si se conecta a Oracle Autonomous Database desde detrás de un firewall, es probable que encuentre un error de timeout de conexión. Asegúrese de estar fuera del firewall mientras ejecuta este ejemplo o actualice el archivo tnsnames.ora para utilizar un proxy HTTPS.