Conexión a Oracle Autonomous Database mediante JDBC con IntelliJ
Puede establecer una conexión a Oracle Autonomous Database mediante el IDE IntelliJ. En las siguientes secciones se proporciona información sobre cómo conectarse primero a Oracle Autonomous Database mediante un proyecto de Maven o un proyecto de Gradle. Asegúrese de haber completado los pasos descritos en los requisitos previos antes de conectarse a Oracle Autonomous Database.
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 utilizarJDK8u162
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
- 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
. - 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"
- DB_USER: puede utilizar
- 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
-
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 archivowallet.zip
y su contenido para evitar el acceso no autorizado a la base de datos. - 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 utilizarJDK8u162
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
- 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
. - 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"
- DB_USER: puede utilizar
- Guardar los cambios en el archivo
ADBQuickStart.java
.
Procedimiento
Puede conectarse a Autonomous Database mediante IntelliJ y Maven o Gradle.
- Cree un proyecto de Maven.
- Haga clic en el menú Archivo, seleccione Nuevo y, a continuación Proyecto.
- Seleccione Maven en la parte izquierda y seleccione la última versión de JDK como SDK de proyecto.
- Haga clic en Siguiente.
- Asigne Name como ADBQuickstart.
- Cree el archivo
ADBQuickStart.java
.- Haga clic con el botón derecho en
src/main/java
. - Seleccione Nuevo y, a continuación, Clase Java.
- Introduzca
com.oracle.jdbctest.ADBQuickStart.java
. Esto también creará la estructura de paquetes necesaria. Asegúrese de copiar el contenido del archivo ADBQuickstart.java en este nuevo archivo.
- Haga clic con el botón derecho en
- Modifique el archivo
pom.xml
con los siguientes cambios: agregue el controlador JDBC de Oracle como dependencia.ojdbc8-production
descargará el controlador JDBC de Oracle (ojdbc8.jar
) junto conucp.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.<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>
- Cree y ejecute una ADB QuickStart. Compile el código Java haciendo clic con el botón derecho en ADBQuickStart.java y, a continuación, haga clic en Crear módulo ADBQuickStart. Asegúrese de que no tiene ningún error de compilación en el código Java y está utilizando la última versión de JDK.
- Ejecute el programa Java de ejemplo. Haga clic con el botón derecho en ADBQuickStart.java y, a continuación, haga clic en Ejecutar ADBQuickStart.main(). Asegúrese de introducir la contraseña de la base de datos en la consola.
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:
Nota: 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 archivotnsnames.ora
para utilizar un proxy HTTPS.
- Siga las instrucciones de la Guía de Gradle para las instrucciones de creación y descarga de Gradle y configure la variable PATH antes de utilizar los comandos de Gradle. Como primer paso, cree un proyecto Gradle con el siguiente comando. Asegúrese de seleccionar 2:application para Select type of project to generate. Además, para Paquete de origen (default:temp): utilice
com.oracle.jdbctest
.gradle init
- Copie el archivo ADBQuickStart.java en el directorio
src/main/java/com/oracle/jdbctest
. - Modifique el archivo
build.gradle
con los siguientes cambios:- Agregue
mavenCentral()
como repositorio. - Agregue el controlador JDBC de Oracle como una dependencia.
Note:
La producción de ojdbc8 descarga el controlador JDBC de Oracle (ojdbc8.jar
) junto conucp.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.Para obtener más información, consulte la Guía central de Maven.
- Actualice
mainClassName
a ADBQuickStart. - Agregue un bloque
run
para leer la contraseña de la consola.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 }
- Agregue
- Creación de una aplicación Gradle. Asegúrese de que está en el directorio en el que está presente el archivo
build.gradle
. Compile el código Java con el siguiente comando:./gradlew build
- Ejecute el programa Java de ejemplo.
./gradlew run
Salida de ejemplo: se muestran las filas consultadas junto con un mensaje de éxito, 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 archivotnsnames.ora
para utilizar un proxy HTTPS.