Ferramentas do usuário

Ferramentas do site


pythonoracledriver

Oracle Python Driver - (python-oracledb)

Olá, nesse artigo iremos fazer uma introdução básica ao driver/módulo python-oracle.

Links úteis:

Pré-requisitos:

  • Na data desse artigo (09/12/2023) as versões suportadas do Python, são as versões entre 3.7 e 3.12: Download Python

Após instalar a versão suportada do Python, podemos seguir com a instalação do módulo: oracledb:

python -m pip install oracledb --upgrade

ou

python3 -m pip install oracledb --upgrade
  • Em alguns sistemas o binário/executável pode estar definido como "python" ou "python3".

Primeiros passos:

Vamos realizar um primeiro teste de conexão ao nosso banco de dados, através do módulo e executar uma query básica.

1 - Crie um novo arquivo chamado dbahero.py, informando os detalhes de conexão:

dbahero.py
import oracledb
 
dbuser = 'dbahero'
dbpwd = 'oracle123'
dbconn = 'localhost:1521/PDBHERO'
 
with oracledb.connect(user=dbuser, password=dbpwd, dsn=dbconn) as connection:
    with connection.cursor() as cursor:
        sql = """select 'Olá Mundo! DBAHero!' from dual"""
        for r in cursor.execute(sql):
            print(r)

2 - Agora podemos executá-lo:

python dbahero.py

A saída esperada é a seguinte:

('Olá Mundo! DBAHero!',)

Dica:

Caso deseje conectar ao banco de dados através do usuário "SYS", é necessário atribuirmos a role "SYSDBA" durante a conexão com o banco de dados.

E para isso, precisamos adicionar o parâmetro (mode=oracledb.SYSDBA) nos detalhes de conexão:

oracledb.connect(user=dbuser, password=dbpwd, dsn=dbconn, mode=oracledb.SYSDBA)

Abaixo temos um outro de exemplo de conexão sem expormos a senha do usuário, solicitando-a através do prompt durante a execução do script:

dbahero.py
import oracledb
import getpass
 
dbuser = 'dbahero'
dbconn = 'localhost:1521/PDBHERO'
dbpwd = getpass.getpass(f'Informe a senha de conexão da base de dados: [{dbuser}@{dbconn}]: ')
 
with oracledb.connect(user=dbuser, password=dbpwd, dsn=dbconn) as connection:
    with connection.cursor() as cursor:
        sql = """select 'Olá Mundo! DBAHero!' from dual"""
        for r in cursor.execute(sql):
            print(r)

A saída esperada é a seguinte:

Informe a senha de conexão da base de dados: [dbahero@localhost:1521/PDBHERO]:

('Olá Mundo! DBAHero!',)

  • O módulo getpass, é o responsável em providenciar um prompt que irá receber a senha digitada e de forma invisível.

O intuito desse primeiro post não é se aprofundar, e sim mostrar os primeiros passos de como se conectar ao banco de dados Oracle através do módulo: oracledb.

- Até a próxima.

Oracle Python Driver - (python-oracledb)

— Autor: Leonardo Lopes 12/12/2023 04H:19

pythonoracledriver.txt · Última modificação: 12/12/2023 04H:19 por admin