Es ist nicht auf cx_Oracle beschränkt, aber um eine Verbindung zur Oracle-Datenbank herzustellen, benötigen Sie den Benutzernamen der zu verbindenden Datenbank, das Kennwort dieses Benutzers und die Verbindungszielinformationen (entweder TNS-Connector oder EZCONNECT). Diese müssen im Voraus vorbereitet werden. In cx_Oracle können Sie eine Verbindung zur Datenbank herstellen, indem Sie diese im Argument der Methode connect () angeben. Es gibt auch einen Alias namens connection (), den Sie verwenden können.
Wenn der Benutzername beispielsweise "scott" lautet, lautet das Kennwort "Tiger" und die Verbindungszielinformationen lauten "db1".
connection = cx_Oracle.connect("scott", "Tiger", "db1")
Stellen Sie eine Verbindung zur Datenbank her, indem Sie den Benutzernamen im ersten Argument (Argumentname Benutzer), das Kennwort (Argumentname Kennwort) im zweiten Argument und die Verbindungszielinformationen im dritten Argument (Argumentname dsn) angeben. Ich kann es schaffen Auch wenn die Verbindungszielinformationen im EZCONNECT-Format vorliegen, z. B. "Hostname1: 1521 / db1.oracle.com".
connection = cx_Oracle.connect("scott", "Tiger", "hostname1:1521/db1.oracle.com")
Und geben Sie es einfach auf die gleiche Weise an. Das Argument dsn ist für lokale Verbindungen mit der Umgebungsvariablen ORACLE_SID nicht erforderlich.
Diese Methode gibt ein Verbindungsobjekt zurück. Danach werden Vorgänge wie das Ausgeben von SQL für das erfasste Verbindungsobjekt ausgeführt (variable Verbindung im obigen Beispiel).
Rufen Sie die Methode close () des Verbindungsobjekts auf.
connection.close()
Im Folgenden finden Sie eine Beispielanwendung, die eine Verbindung zu einer Datenbank herstellt, die Versionsinformationen der Verbindungsziel-Datenbank anzeigt (zweite Zeile von unten) und die Verbindung trennt.
sample02a.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cx_Oracle
USERID = "admin"
PASSWORD = "FooBar"
DESTINATION = "atp1_low"
connection = cx_Oracle.connect(USERID, PASSWORD, DESTINATION)
print(connection.version)
connection.close()
Das Schließen offener Ressourcen ist eine Programmierregel. In der Realität ist es jedoch leicht, das Schließen zu vergessen. Python bietet eine Syntax, um sicherzustellen, dass offene Ressourcen geschlossen werden. Und cx_Oracle unterstützt die with-Syntax. Durch Codieren wie folgt können Sie die Verbindung sicher schließen.
sample02b.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cx_Oracle
USERID = "admin"
PASSWORD = "FooBar"
DESTINATION = "atp1_low"
with cx_Oracle.connect(USERID, PASSWORD, DESTINATION) as connection:
print(connection.version)
Recommended Posts