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:
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:
$ sqlplusNastę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 - ProdukcjaMożesz także uruchomić powyższe polecenie, aby zalogować się bezpośrednio do PDB:
sqlplus sys/hasło@pdborcl jako sysdbaZastą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 LinuxhintPowyż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ę,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 -UPRADEPo konfiguracji możemy kontynuować naszą konfigurację aplikacji.
Krok 3 - Konfiguracja aplikacji
Zacznij od utworzenia katalogu nadrzędnego w celu przechowywania kodu aplikacji:
$ mkdir orclpyPrzejdź do utworzonego katalogu i zdefiniuj nowy db_config.plik py. Zostanie to używane do przechowywania konfiguracji bazy danych.
$ cd orclpy && touch db_config.pyEdytuj 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.pyInformacje o konfiguracji:
User = „Linuxhint”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.pyEdytuj plik i dodaj kod:
Importuj CX_OacleZaczynamy 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.pyPowinno to zwrócić dane wyjściowe jako:
$ Python Main.pyWniosek
Jest to dyskusja na temat procesu łączenia aplikacji Python z bazą danych Oracle za pomocą modułu CX_Oracle.