Python kobler til Oracle -databasen

Python kobler til Oracle -databasen
Python er et av de moderne tidens mest populære og innflytelsesrike programmeringsspråk. Det brukes til å bygge fra små skrapskript til massive bedriftsapplikasjoner som YouTube, Spotify osv.

Oracle Database regnes som en av de mest populære relasjonsdatabasene. Dette er fordi det er fullpakket med funksjoner for små til massive applikasjoner.

Det er derfor ingen overraskelse at du vil møte et scenario der du trenger å koble en Python -applikasjon til en Oracle -database.

Gjennom dette innlegget vil du forstå det grunnleggende om å koble en Python -applikasjon til en Oracle -database ved hjelp av CX_ORACLE -grensesnittet.

Hva er cx_oracle?

CX_oracle er en gratis og åpen kildekode Python-modul som lar deg koble en Python-applikasjon til en Oracle-database. Modulen samsvarer med Python Database API -spesifikasjonene, noe som gjør den til et populært valg for å utføre PL/SQL -kommandoer ved hjelp av Python.

Du kan sjekke kildekoden for modulen i ressursen som er definert nedenfor:

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

Krav

For å følge denne opplæringen, trenger du tilgang til følgende:

  1. En Oracle -databaseinstallasjon som kjører på maskinen din.
  2. Den siste Python -tolken installert på maskinen din.
  3. Tilstrekkelige databasetillatelser på serveren.

Du kan også bruke en ekstern Oracle -databaseinstallasjon. Husk at du kanskje trenger legitimasjon til målserveren.

Trinn 1 - Sette opp en databasebruker

Det første trinnet er å sette opp en ny databasebruker for Python -applikasjonen din. Du kan hoppe over dette trinnet hvis du allerede har en eksisterende databasebruker du vil bruke.

Selv om dette trinnet ikke er et krav, er det godt å begrense applikasjonen til en spesifikk database og tillatelse i tilfelle et sikkerhetskompromiss.

Begynn med å starte SQL Plus -kommandoen som vist:

$ sqlplus

Neste, skriv inn brukernavnet for den privilegerte brukeren du ønsker å koble til. Dette vil be deg om et passord du definerte under databaseinstallasjonen.

Skriv inn brukernavn: sys som sysdba

Oppgi passord: **********

Når du er logget inn, bør du bli droppet til PL/SQL -skallet som:

Koblet til:

Oracle Database 19C Enterprise Edition Release 19.0.0.0.0 - Produksjon
Versjon 19.3.0.0.0
SQL>

Du kan også kjøre kommandoen over for å logge inn direkte til PDB:

sqlplus sys/passord@pdborcl som sysdba

Bytt ut brukernavnet og passordet med målopplysningene dine.

Når du er logget inn, kjør kommandoen nedenfor for å opprette en bruker.

SQL> Opprett bruker Linuxhint;

Endre den opprettede brukeren og angi målegenskapene som tablisjon og kvotegrense.

SQL> Endre bruker Linuxhint
Standard tablespace -brukere
Midlertidig tabellområde temp
kvote ubegrenset på brukere;

Ovennevnte spørring angir henholdsvis standard tabellområde, midlertidig tabellområde og den opprettede brukerens kvotegrense.

Til slutt, gi de nødvendige tillatelsene til den opprettede brukeren som vist:

SQL> Grant Create Table,
Lag visning,
Lag sekvens,
Lag trigger,
Opprett type,
Lag materialisert visning,
Opprette økt,
Opprett prosedyre
Til Linuxhint;
Grant lyktes.

Ovennevnte spørring gir brukerens tillatelse til å opprette forskjellige databaseobjekter som tabeller, visninger, prosedyrer, triggere, materialiserte visninger, sekvenser osv.

Til slutt, sett et passord til målbrukeren som:

SQL> Endre bruker Linuxhint identifisert med passord;

Du kan deretter avslutte SQL Plus -økten og fortsette til neste avsnitt.

Trinn 2 - Installere CX_Oracle Python -modulen

Neste trinn er å sette opp og installere CX_oracle -modulen i Python. Dette trinnet krever at du har Python og Pip installert på maskinen din.

Sjekk veiledningene våre om emnet for å lære mer.

Kjør PIP -kommandoen:

python3 -m pip install cx_oracle -upgrade

Når vi er satt opp, kan vi fortsette med applikasjonskonfigurasjonen vår.

Trinn 3 - Søknadsoppsett

Begynn med å opprette overordnet katalog for å lagre applikasjonskoden:

$ mkdir orclpy

Naviger inn i den opprettede katalogen og definere en ny DB_CONFIG.py -fil. Dette vil bli brukt til å lagre databasekonfigurasjonen.

$ cd orclpy && touch db_config.py

Rediger db_config.PY -fil med din favoritt tekstredigerer og legg til databasekonfigurasjonsinformasjonen som vist i utvalget nedenfor:

$ vim db_config.py

Konfigurasjonsinformasjon:

Bruker = 'linuxhint'
passord = 'passord'
dsn = 'localhost/orcl'
Port = 1512
koding = 'utf-8'

Konfigurasjonsfilen har informasjon for å logge på serveren. Brukeren og passordene refererer til brukeren vi opprettet i trinn 1.

DSN definerer datakildenavnet, som inkluderer server vertsnavn og det pluggable databasenavnet. I dette tilfellet, pdborcl1.

Trinn 4 - Koble til databasen

Når du har konfigurasjonen av databasesettet, kan vi koble applikasjonen til serveren.

Begynn med å opprette en fil for å lagre applikasjonskoden:

$ Touch Main.py

Rediger filen og legg til koden:

Importer cx_oracle
Importer DB_CONFIG
prøve:
conn = cx_oracle.KOBLE(
db_config.BRUKER,
db_config.passord,
db_config.DSN,
koding = db_config.koding)
print ("Databaseversjon:", Conn.versjon)
Bortsett fra CX_oracle.Feil som e:
trykk (e)
endelig:
Hvis Conn:
Conn.LUKK()

Vi starter med å importere cx_oracle -modulen og db_config -filen i koden over.

Neste, vi pakker tilkoblingsblokken inne i en prøvefangstblokk. Tilkoblingsobjektet lagres i 'Conn' ved hjelp av CX_oracle.koble funksjon.

Hvis tilkoblingen er vellykket, skriver vi ut databaseversjonen ved hjelp av Conn.versjon. Hvis ikke, fanger vi feilen og skriver den ut.

Til slutt lukker vi forbindelsen ved hjelp av Conn.Lukk () Funksjon.

Vi kan kjøre koden som:

$ Python3 Main.py

Dette skal returnere utdataene som:

$ Python Main.py
Databaseversjon: 19.3.0.0.0

Konklusjon

Dette er en diskusjon om prosessen med å koble Python -applikasjonen din til Oracle -databasen din ved hjelp av CX_oracle -modulen.