Il database Oracle è considerato uno dei database relazionali più popolari. Questo perché viene ricco di funzionalità per applicazioni da piccole a enormi.
Pertanto, non sorprende che incontrerai uno scenario in cui è necessario collegare un'applicazione Python a un database Oracle.
Attraverso questo post, capirai le basi della connessione di un'applicazione Python a un database Oracle utilizzando l'interfaccia CX_ORACLE.
Cos'è cx_oracle?
Cx_oracle è un modulo Python gratuito e open source che consente di collegare un'applicazione Python a un database Oracle. Il modulo è conforme alle specifiche API del database Python, rendendolo una scelta popolare per l'esecuzione di comandi PL/SQL usando Python.
È possibile controllare il codice sorgente per il modulo nella risorsa definita di seguito:
https: // github.com/oracle/python-cx_oracle
Requisiti
Per seguire questo tutorial, avrai bisogno di accedere a quanto segue:
È inoltre possibile utilizzare un'installazione di database Oracle remoto. Tieni presente che potresti aver bisogno delle credenziali per il server di destinazione.
Passaggio 1 - Impostazione di un utente di database
Il primo passo è la configurazione di un nuovo utente di database per la tua applicazione Python. Puoi saltare questo passaggio se hai già un utente di database esistente che si desidera utilizzare.
Sebbene questo passaggio non sia un requisito, è bene limitare l'applicazione a un database e autorizzazione specifici in caso di compromesso di sicurezza.
Inizia lanciando il comando SQL Plus come mostrato:
$ sqlplusSuccessivamente, inserisci il nome utente per l'utente privilegiato a cui desideri connetterti. Questo ti chiederà una password definita durante l'installazione del database.
Immettere il nome utente: sys come sysdba
Inserire la password: **********
Una volta effettuato l'accesso, dovresti essere lasciato cadere sulla shell PL/SQL come:
Collegato a:
Oracle Database 19C Enterprise Edition Release 19.0.0.0.0 - ProduzionePuoi anche eseguire il comando sopra per accedere direttamente a PDB:
sqlplus sys/password@pdborcl come sysdbaSostituisci il nome utente e la password con le credenziali target.
Una volta effettuato l'accesso, eseguire il comando di seguito per creare un utente.
SQL> Crea LinuxHint utente;Modificare l'utente creato e impostare le proprietà di destinazione come tablespace e limite di quota.
SQL> ALTER USER LINUXHINTLa query sopra imposta il tablespace predefinito, il tablespace temporaneo e il limite della quota dell'utente creato, rispettivamente.
Infine, concedi le autorizzazioni necessarie all'utente creato come mostrato:
SQL> Grant Crea Table,La query sopra garantisce l'autorizzazione dell'utente per creare vari oggetti di database come tabelle, viste, procedure, trigger, viste materializzate, sequenze, ecc.
Infine, imposta una password sull'utente di destinazione come:
SQL> Alter User Linuxhint identificato dalla password;È quindi possibile uscire dalla sessione SQL Plus e procedere alla sezione successiva.
Passaggio 2 - Installazione del modulo CX_ORACLE PYTHON
Il prossimo passo è impostare e installare il modulo CX_oracle in Python. Questo passaggio richiede di installare Python e Pip sulla macchina.
Controlla i nostri tutorial sull'argomento per saperne di più.
Esegui il comando PIP:
python3 -m pip installa cx_oracle -upgradeUna volta impostata, possiamo procedere con la nostra configurazione dell'applicazione.
Passaggio 3 - Impostazione dell'applicazione
Inizia creando la directory principale per archiviare il codice dell'applicazione:
$ mkdir orclpyPassare nella directory creata e definire un nuovo DB_Config.Py File. Questo verrà utilizzato per archiviare la configurazione del database.
$ cd orclpy && touch db_config.PyModifica il db_config.File PY con il tuo editor di testo preferito e aggiungi le informazioni di configurazione del database come mostrato nell'esempio seguente:
$ vim db_config.PyInformazioni sulla configurazione:
User = 'LinuxHint'Il file di configurazione contiene informazioni per accedere al server. L'utente e le password si riferiscono all'utente che abbiamo creato nel passaggio 1.
Il DSN definisce il nome dell'origine dati, che include il nome host server e il nome del database pluggable. In questo caso, pdborcl1.
Passaggio 4 - Connettiti al database
Una volta che hai la configurazione del set di database, possiamo connettere l'applicazione al server.
Inizia creando un file per archiviare il codice dell'applicazione:
$ touch main.PyModifica il file e aggiungi il codice:
Importa cx_oracleIniziamo importando il modulo CX_oracle e il file db_config nel codice sopra.
Successivamente, avvolgiamo il blocco di connessione all'interno di un blocco di cattura. L'oggetto di connessione viene archiviato in "Conn" usando CX_ORACLE.Funzione di connessione.
Se la connessione ha esito positivo, stampiamo la versione del database utilizzando Conn.versione. In caso contrario, prendiamo l'errore e lo stampiamo.
Infine, chiudiamo la connessione usando il Conn.Funzione Close ().
Possiamo eseguire il codice come:
$ Python3 Main.PyQuesto dovrebbe restituire l'output come:
$ Python Main.PyConclusione
Questa è una discussione sul processo di collegamento dell'applicazione Python al tuo database Oracle utilizzando il modulo CX_ORACLE.