Conexión de aplicaciones de Python sin una cartera (TLS)

Puede conectar aplicaciones Python a su instancia de base de datos de IA autónoma sin una cartera. La conexión de una aplicación Python sin una cartera (TLS) proporciona seguridad para la autenticación y el cifrado, y la seguridad se aplica mediante credenciales de cliente (al proporcionar un nombre de usuario y una contraseña).

El "modo fino" predeterminado del controlador python-oracledb se conecta directamente a Oracle AI Database. Opcionalmente, puede utilizar las bibliotecas del cliente de Oracle, "Thick mode", para algunas funciones adicionales. Las bibliotecas del cliente de Oracle pueden ser de Oracle Instant Client, el cliente de Oracle completo o una instalación de Oracle AI Database.

Siga estos pasos para conectar la aplicación Python a una instancia de base de datos de IA autónoma sin cartera (TLS):

  1. Instalación de Python y el controlador python-oracledb

  2. Activar TLS en base de datos de IA autónoma y obtener cadena de conexión

  3. Ejecución de la aplicación Python sin cartera

Consulte Activación del modo grueso de python-oracledb para obtener información sobre el modo grueso.

Activar TLS en base de datos de IA autónoma y obtener cadena de conexión

Para ejecutar una aplicación Python sin una cartera, active la instancia de base de datos de IA autónoma para las conexiones TLS y obtenga una cadena de conexión para ponerse en contacto con la base de datos desde la aplicación Python.

  1. Determine si la instancia de la base de datos de IA autónoma está activada para conexiones TLS.

    Si la instancia está activada para conexiones TLS, en el área Red de la consola de Oracle Cloud Infrastructure, el campo Autenticación TLS mutua (mTLS) muestra: No necesaria.

    Si la instancia requiere autenticación TLS mutua, permita conexiones TLS en la instancia de la base de datos de IA autónoma. Consulte Actualización de su instancia de base de datos de IA autónoma para permitir tanto autenticación TLS y mTLS para obtener más información.

  2. Obtenga una cadena de conexión de Autonomous AI Database Service para acceder a la base de datos de la siguiente manera:

    • En la consola de Oracle Cloud Infrastructure, haga clic en Conexión de base de datos.

    • Seleccione TLS en el cuadro de diálogo Conexión a base de datos, en Cadenas de conexión, en la lista desplegable Autenticación TLS.

    Nota

    Nota: Debe seleccionar TLS en la lista desplegable Autenticación TLS para obtener las cadenas de conexión TLS antes de copiar una cadena de conexión (cuando el valor es TLS mutua, las cadenas de conexión tienen valores diferentes y no funcionan con conexiones TLS).

  3. Copie la cadena de conexión para el servicio de base de datos que desea utilizar con la aplicación.

Consulte Visualización de nombres TNS y cadenas de conexión para una instancia de base de datos de IA autónoma para obtener más información.

Ejecución de la aplicación Python sin cartera

Una aplicación Python se puede conectar a su instancia de base de datos de IA autónoma sin una cartera (TLS) mediante las credenciales de base de datos y un descriptor de conexión.

  1. Obtenga la cadena de conexión, como se describe en Activar TLS en la base de datos de IA autónoma y obtener la cadena de conexión.

  2. En la aplicación Python, defina los siguientes parámetros de conexión para conectarse a una instancia de base de datos de IA autónoma:

    • dsn: utilice la cadena de conexión para especificar el nombre de servicio de base de datos deseado.

    • password: especifica la contraseña de usuario de la base de datos.

    • user: especifica el usuario de la base de datos.

    Por ejemplo:

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)
  3. Si desea conectarse en modo grueso, incluya oracledb.init_oracle_client() en la aplicación Python.

    Por ejemplo:

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    oracledb.init_oracle_client()
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)