Python Połącz się z bazą danych Oracle

Python Połącz się z bazą danych Oracle
Python jest jednym z najpopularniejszych i najbardziej wpływowych języków programowania współczesnego wieku. Służy do budowania od małych skryptów złomu internetowego po masowe aplikacje przedsiębiorstwa, takie jak YouTube, Spotify itp.

Baza danych Oracle jest uważana za jedną z najpopularniejszych relacyjnych baz danych. Dzieje się tak, ponieważ jest pełen funkcji małych do masywnych aplikacji.

Nie jest zatem zaskoczeniem, że napotkasz scenariusz, w którym musisz podłączyć aplikację Python z bazą danych Oracle.

Za pośrednictwem tego postu zrozumiesz podstawy podłączenia aplikacji Python z bazą danych Oracle za pomocą interfejsu CX_ORACLE.

Co to jest cx_oracle?

CX_Oacle to bezpłatny i open source Python, który pozwala podłączyć aplikację Python do bazy danych Oracle. Moduł jest zgodny ze specyfikacjami API bazy danych Python, co czyni go popularnym wyborem do wykonywania poleceń PL/SQL za pomocą Pythona.

Możesz sprawdzić kod źródłowy modułu w zasobie zdefiniowanym poniżej:

https: // github.com/oracle/python-cx_oracle

Wymagania

Aby śledzić ten samouczek, będziesz potrzebować dostępu do następujących:

  1. Instalacja bazy danych Oracle działająca na twoim komputerze.
  2. Najnowszy interpreter Python zainstalowany na twoim komputerze.
  3. Wystarczające uprawnienia do bazy danych na serwerze.

Możesz także użyć zdalnej instalacji bazy danych Oracle. Pamiętaj, że możesz potrzebować poświadczeń do docelowego serwera.

Krok 1 - Konfigurowanie użytkownika bazy danych

Pierwszym krokiem jest konfiguracja nowego użytkownika bazy danych dla Twojej aplikacji Python. Możesz pominąć ten krok, jeśli masz już istniejącego użytkownika bazy danych, którego chcesz użyć.

Chociaż ten krok nie jest wymogiem, dobrze jest ograniczyć aplikację do konkretnej bazy danych i pozwolenia w przypadku kompromisu bezpieczeństwa.

Zacznij od uruchomienia polecenia SQL Plus, jak pokazano:

$ sqlplus

Następnie wprowadź nazwę użytkownika dla uprzywilejowanego użytkownika, z którym chcesz się połączyć. To skłonność do hasła zdefiniowanego podczas instalacji bazy danych.

Wprowadź nazwę użytkownika: sys jako sysdba

Wprowadź hasło: **********

Po zalogowaniu powinieneś zostać upuszczony do powłoki PL/SQL jako:

Połączony z:

Oracle Database 19c Enterprise Edition wydanie 19.0.0.0.0 - Produkcja
Wersja 19.3.0.0.0
SQL>

Możesz także uruchomić powyższe polecenie, aby zalogować się bezpośrednio do PDB:

sqlplus sys/hasło@pdborcl jako sysdba

Zastąp nazwę użytkownika i hasło na swoje docelowe poświadczenia.

Po zalogowaniu uruchom poniższe polecenie, aby utworzyć użytkownika.

SQL> Utwórz użytkownika Linuxhint;

Zmień utworzonego użytkownika i ustaw docelowe właściwości, takie jak przestrzeń tabel i limit kwot.

SQL> Zmień użytkownika Linuxhint
Domyślni użytkownicy tabel
Tymczasowa temperatura stole
limit nieograniczony dla użytkowników;

Powyższe zapytanie ustawia domyślny przestrzeń tabel, tymczasowy obszar tabel i limit limitu utworzonego użytkownika.

Na koniec udziel niezbędne uprawnienia utworzonemu użytkownikowi, jak pokazano:

SQL> Grant Utwórz tabelę,
Utwórz widok,
Utwórz sekwencję,
Utwórz spust,
Utwórz typ,
Utwórz zmaterializowany widok,
Utwórz sesję,
Utwórz procedurę
Do Linuxhint;
Grant się powiódł.

Powyższe zapytanie zapewnia zgodę użytkownika na tworzenie różnych obiektów bazy danych, takich jak tabele, widoki, procedury, wyzwalacze, zmaterializowane widoki, sekwencje itp.

Na koniec ustaw hasło do użytkownika docelowego jako:

Sql> alter użytkownik Linuxhint zidentyfikowane przez hasło;

Następnie możesz wyjść z sesji SQL Plus i przejść do następnej sekcji.

Krok 2 - Instalowanie modułu CX_Oracle Python

Następnym krokiem jest skonfigurowanie i zainstalowanie modułu CX_Oracle w Python. Ten krok wymaga zainstalowania Pythona i PIP na komputerze.

Sprawdź nasze samouczki na ten temat, aby dowiedzieć się więcej.

Uruchom polecenie PIP:

Python3 -m PIP Instaluj CX_ORACLE -UPRADE

Po konfiguracji możemy kontynuować naszą konfigurację aplikacji.

Krok 3 - Konfiguracja aplikacji

Zacznij od utworzenia katalogu nadrzędnego w celu przechowywania kodu aplikacji:

$ mkdir orclpy

Przejdź do utworzonego katalogu i zdefiniuj nowy db_config.plik py. Zostanie to używane do przechowywania konfiguracji bazy danych.

$ cd orclpy && touch db_config.py

Edytuj db_config.Plik PY z ulubionym edytorem tekstu i dodaj informacje o konfiguracji bazy danych, jak pokazano w poniższej próbce:

$ vim db_config.py

Informacje o konfiguracji:

User = „Linuxhint”
hasło = „hasło”
dsn = „localhost/orcl”
port = 1512
kodowanie = „UTF-8”

Plik konfiguracyjny przechowuje informacje, aby zalogować się do serwera. Użytkownik i hasła odnoszą się do użytkownika, który utworzyliśmy w kroku 1.

DSN określa nazwę źródła danych, która zawiera nazwę hosta serwera i nazwę bazy danych wtyczki. W tym przypadku PDBORCL1.

Krok 4 - Połącz się z bazą danych

Po konfiguracji zestawu bazy danych możemy podłączyć aplikację do serwera.

Zacznij od utworzenia pliku do przechowywania kodu aplikacji:

$ Touch Main.py

Edytuj plik i dodaj kod:

Importuj CX_Oacle
Importuj db_config
próbować:
conn = cx_oracle.ŁĄCZYĆ(
db_config.UŻYTKOWNIK,
db_config.hasło,
db_config.DSN,
kodowanie = db_config.kodowanie)
Drukuj („wersja bazy danych:”, Conn.wersja)
Z wyjątkiem CX_Oacle.Błąd jako E:
Drukuj (e)
Wreszcie:
Jeśli Conn:
Conn.ZAMKNĄĆ()

Zaczynamy od importowania modułu CX_Oracle i pliku DB_Config w powyższym kodzie.

Następnie owijamy blok połączenia w bloku próbnym. Obiekt połączenia jest przechowywany w „Conn” za pomocą CX_ORACLE.Połącz funkcję.

Jeśli połączenie zakończy się powodzeniem, drukujemy wersję bazy danych za pomocą Conn Conn.wersja. Jeśli nie, łapiemy błąd i drukujemy go.

Na koniec zamykamy połączenie za pomocą Conn Conn.Funkcja zamknięta ().

Możemy uruchomić kod jako:

$ Python3 Main.py

Powinno to zwrócić dane wyjściowe jako:

$ Python Main.py
Wersja bazy danych: 19.3.0.0.0

Wniosek

Jest to dyskusja na temat procesu łączenia aplikacji Python z bazą danych Oracle za pomocą modułu CX_Oracle.