Creación de una aplicación Python

Para crear una aplicación Python que acceda a una instancia de Autonomous Database, debe empezar por configurar un sistema de desarrollo que soporte el acceso de base de datos para que pueda beneficiarse de las funciones de disponibilidad continua y alto rendimiento de Autonomous Database.

Después de configurar el sistema de desarrollo, puede codificar conexiones de base de datos y sentencias SQL en la aplicación para aprovechar estas funciones.

Sugerencia:

Si desea una alternativa de "prueba" a la lectura de los siguientes temas, puede realizar el laboratorio 4 sobre la creación de pilas de aplicación Python en el taller Oracle Autonomous Database Dedicated for Developers and Database Users.

Configuración del sistema de desarrollo Python

Para configurar el sistema de desarrollo de modo que la aplicación Python pueda utilizar las funciones de disponibilidad continua y alto rendimiento de una instancia de Autonomous Database, realice estos pasos.

  1. Descargue e instale Python.
  2. Descargue e instale Oracle Instant Client.
  3. Descargue e instale cx_Oracle.
  4. Descargue las credenciales de cliente para la base de datos y haga que estén disponibles para Oracle Instant Client.

Antes de empezar

El sistema de desarrollo debe cumplir determinados criterios para configurarlo correctamente.

Descarga e instalación de Python

  • Oracle Linux:

    Oracle Linux 7 incluye Python 2.7, por lo que solo tiene que ejecutar este comando:

    sudo yum -y install oracle-release-el7
  • Otras OSes y arquitecturas:

    Vaya a la página Downloads de python.org y descargue e instale la versión más reciente, Python 2.7 o Python 3.5 (o posterior), para su sistema operativo y arquitectura.

Descarga e instalación de Oracle Instant Client

Necesita las bibliotecas de Oracle Instant Client versión 19.6 o posterior.

Descargue e instale el paquete básico de Oracle Instant Client para el sistema operativo y la arquitectura del sistema:

  • Oracle Linux:

    Ejecute estos comandos para descargar e instalar el paquete básico de Oracle Instant Client:

    sudo yum -y install oracle-release-el7
    sudo yum -y install oracle-instantclient19.3-basic

    (Si desea ver una lista de todos los paquetes de Instant Client, vaya a http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html).

  • Otras OSes y arquitecturas:

    1. Vaya a la página Oracle Instant Client Downloadst y seleccione la descarga para el sistema operativo y la arquitectura de su sistema.

    2. En la página de descarga, acepte el acuerdo de licencia de Oracle Technology Network, descargue la versión más reciente del paquete básico y, a continuación, instale siguiendo las instrucciones que aparecen en la parte inferior de la página de descarga.

Descarga e instalación de cx_Oracle

Utilice el paquete pip de Python para instalar cx_Oracle desde PyPI (el índice de paquetes de Python):

  • Oracle Linux:

    Ejecute estos comandos para descargar el paquete pip y, a continuación, utilícelo para instalar cx_Oracle:

    sudo yum -y install oracle-release-el7
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    sudo python get-pip.py
    python -m pip install cx_Oracle --upgrade
  • Otras OSes y arquitecturas:

    Ejecute este comando:

    python -m pip install cx_Oracle --upgrade

Descarga e instalación de las credenciales de cliente para la base de datos

  1. Descargue el archivo zip que contiene las credenciales de cliente para la base de datos en un directorio seguro de la computadora.

    Este archivo zip está disponible para su descarga en la página Detalles de la base de datos en la consola de Oracle Cloud. Si tiene una cuenta de usuario de Oracle Cloud que le permite acceder a esta página, descargue las credenciales de la siguiente forma. Si no tiene dicha cuenta, debe obtener el archivo zip del administrador de la base de datos, junto con la contraseña que se ha utilizado para proteger el archivo zip.

    1. En el explorador web, inicie sesión en Oracle Cloud y desplácese a la página Detalles de Autonomous Database.

    2. Haga clic en Conexión de base de datos.

    3. En la página Conexión a base de datos, haga clic en Descargar.

    4. En el cuadro de diálogo Download Wallet (Descargar cartera), introduzca una contraseña para la cartera en el campo Password (Contraseña) y confirme la contraseña en el campo Confirm Password (Confirmar contraseña).

      La contraseña debe tener al menos 8 caracteres e incluir al menos 1 letra y 1 carácter numérico o 1 carácter especial.

    5. Haga clic en Descargar para guardar el archivo zip de credenciales de cliente en un directorio seguro.

  2. Después de descargar el archivo zip, siga estos pasos:

    1. Descomprima el archivo zip de credenciales de cliente.

    2. Edite el archivo sqlnet.ora que se proporciona en las credenciales de cliente, sustituyendo "?/network/admin" por la ruta completa del directorio en el que ha descomprimido las credenciales de cliente; por ejemplo, cambie:

      (DIRECTORY="?/network/admin")

      a:

      (DIRECTORY="/users/jdoe/adbcredentials")
    3. Cree la variable de entorno TNS_ADMIN definiendo su valor en la ruta de acceso completa del directorio donde ha descomprimido las credenciales de cliente.

Codificación de conexiones de base de datos y sentencias SQL

Después de configurar el sistema de desarrollo de modo que soporte la conectividad de la aplicación Python a una instancia de Autonomous Database, siga estas directrices para lograr un alto rendimiento y una disponibilidad continua de las conexiones de la aplicación a la base de datos:

Por ejemplo:

pool = cx_Oracle.SessionPool("appuser",
                             SampleEnv.GetMainPassword(),
                             "tp_tls",
                             events=True,
                             threaded=True)

En este ejemplo se crea un pool para las conexiones al servicio de base de datos tp_tls y se activa FAN definiendo el parámetro events en True.

Recursos adicionales

Para obtener información detallada sobre cx_Oracle, vaya a la página de documentación de cx_Oracle.

Para ver ejemplos de código que muestran una amplia variedad de funciones de cx_Oracle, vaya a la carpeta python-cx_Oracle samples.