Python-Anwendungen mit einem Wallet (mTLS) verbinden
Sie können Python-Anwendungen mit einem Wallet mit Ihrer Autonomous Database-Instanz verbinden.
Der standardmäßige "Thin-Modus" des Treibers python-oracledb stellt eine direkte Verbindung zu Oracle Database her. Der Treiber kann optional Oracle-Client-Librarys, den "Thick-Modus", für zusätzliche Funktionen verwenden. Die Oracle-Client-Librarys können von Oracle Instant Client, dem vollständigen Oracle-Client oder von einer Oracle Database-Installation stammen.
So verbinden Sie Ihre Python-Anwendung mit einem Wallet (mTLS) mit einer Autonomous Database-Instanz:
- Python und den python-oracledb-Treiber installieren
- Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkverbindung aktivieren
- Führen Sie diesen Schritt aus, wenn Sie nur im Thin-Modus eine Verbindung herstellen möchten: Python-Anwendung mit python-oracledb-Thin-Modus mit einem Wallet (mTLS) ausführen
- Führen Sie diesen Schritt aus, wenn Sie die Verbindung im Thick-Modus herstellen möchten: Python-Anwendung mit python-oracledb-Thick-Modus mit einem Wallet (mTLS) ausführen
Themen
- Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkkonnektivität aktivieren
Rufen Sie Clientsicherheitszugangsdaten ab, um eine Verbindung zu einer Autonomous Database-Instanz herzustellen. - Python-Anwendung mit python-oracledb-Thin-Modus mit einem Wallet (mTLS) ausführen
Standardmäßig verwendet python-oracledb den Thin-Modus, um eine direkte Verbindung zur Autonomous Database-Instanz herzustellen. - Python-Anwendung mit python-oracledb-Thick-Modus mit einem Wallet (mTLS) ausführen
Standardmäßig wird python-oracledb im Thin-Modus ausgeführt, mit dem eine direkte Verbindung zu Oracle Database hergestellt wird. Bei der Ausführung des Treibers im Thick-Modus sind zusätzliche python-oracledb-Features verfügbar.
Übergeordnetes Thema: Python-Anwendungen mit Autonomous Database verbinden
Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkverbindung aktivieren
Rufen Sie die Clientsicherheitszugangsdaten ab, um eine Verbindung zu einer Autonomous Database-Instanz herzustellen.
Übergeordnetes Thema: Python-Anwendungen mit einem Wallet (mTLS) verbinden
Python-Anwendung mit python-oracledb-Thin-Modus mit einem Wallet (mTLS) ausführen
Standardmäßig verwendet python-oracledb den Thin-Modus, um eine direkte Verbindung zur Autonomous Database-Instanz herzustellen.
Im Thin-Modus werden nur zwei Dateien aus der Wallet-ZIP-Datei benötigt:
-
tnsnames.ora
: Ordnet Net Service-Namen, die für Anwendungsverbindungszeichenfolgen verwendet werden, den Datenbankservices zu. -
ewallet.pem
: Ermöglicht SSL-/TLS-Verbindungen im Thin-Modus.
So verbinden Sie sich im Thin-Modus:
Wenn Sie sich hinter einer Firewall befinden, können Sie TLS/SSL-Verbindungen über einen Proxy tunneln, indem Sie HTTPS_PROXY im Verbindungsdeskriptor verwenden oder Verbindungsattribute festlegen. Eine erfolgreiche Verbindung hängt von bestimmten Proxykonfigurationen ab. Oracle empfiehlt die Verwendung eines Proxys in einer Produktionsumgebung nicht, da sich dies möglicherweise auf die Performance auswirkt.
Im Thin-Modus können Sie einen Proxy angeben, indem Sie die Parameter https_proxy
und http_proxy_port
hinzufügen.
Beispiel unter Linux:
connection=oracledb.connect(
config_dir="/opt/OracleCloud/MYDB",
user="admin",
password=password,
dsn="db2024_low",
wallet_location="/opt/OracleCloud/MYDB",
wallet_password=wallet_pw,
https_proxy='myproxy.example.com',
https_proxy_port=80)
Beispiel für Windows:
connection=oracledb.connect(
config_dir=r"C:\opt\OracleCloud\MYDB",
user="admin",
password=password,
dsn="db2024_low",
wallet_location=r"C:\opt\OracleCloud\MYDB",
wallet_password=wallet_pw,
https_proxy='myproxy.example.com',
https_proxy_port=80)
Übergeordnetes Thema: Python-Anwendungen mit einem Wallet (mTLS) verbinden
Python-Anwendung mit python-oracledb-Thick-Modus mit einem Wallet (mTLS) ausführen
Im Modus "Dick" müssen die Oracle-Client-Librarys dort installiert sein, wo Sie Python ausführen. Außerdem müssen Sie
oracledb.init_oracle_client()
in Ihrem Python-Code aufrufen.
Im Thick-Modus sind die folgenden drei Dateien aus der Wallet-ZIP-Datei erforderlich:
-
tnsnames.ora
: Enthält die Net Service-Namen, die für Anwendungsverbindungszeichenfolgen verwendet werden, und ordnet die Zeichenfolgen den Datenbankservices zu. -
sqlnet.ora
: Gibt die clientbezogene SQL*Net-Konfiguration an. cwallet.sso
: Enthält das automatisch offene SSO-Wallet.
So verbinden Sie sich im Thick-Modus:
Wenn Sie sich hinter einer Firewall befinden, können Sie TLS/SSL-Verbindungen über einen Proxy tunneln, indem Sie HTTPS_PROXY im Verbindungsdeskriptor verwenden oder Verbindungsattribute festlegen. Eine erfolgreiche Verbindung hängt von bestimmten Proxykonfigurationen ab. Oracle empfiehlt die Verwendung eines Proxys in einer Produktionsumgebung nicht, da sich dies möglicherweise auf die Performance auswirkt.
Im Thick-Modus können Sie einen Proxy angeben, indem Sie die Datei sqlnet.ora
bearbeiten und eine Zeile hinzufügen:
SQLNET.USE_HTTPS_PROXY=on
Bearbeiten Sie außerdem tnsnames.ora
, und fügen Sie für jeden Servicenamen, den Sie verwenden möchten, einen HTTPS_PROXY
-Proxynamen und einen HTTPS_PROXY_PORT
-Port zur Adressliste des Verbindungsdeskriptors hinzu.
Beispiele:
mydb_high=(description=
(address=(https_proxy=myproxy.example.com)
(https_proxy_port=80)
(protocol=tcps)(port=1522)(host=...)
Informationen zum Modus "Dicke" finden Sie unter Enabling python-oracledb Thick mode.
Übergeordnetes Thema: Python-Anwendungen mit einem Wallet (mTLS) verbinden