Python Connect ao banco de dados Oracle

Python Connect ao banco de dados Oracle
Python é uma das linguagens de programação mais populares e influentes da era moderna. É usado para construir a partir de pequenos scripts da web a aplicativos empresariais maciços, como YouTube, Spotify, etc.

O Oracle Database é considerado um dos bancos de dados relacionais mais populares. Isso ocorre porque vem com recursos para aplicações pequenas a massivas.

Portanto, não é de surpreender que você encontre um cenário em que você precise conectar um aplicativo Python a um banco de dados Oracle.

Através deste post, você entenderá o básico de conectar um aplicativo Python a um banco de dados Oracle usando a interface CX_oracle.

O que é cx_oracle?

CX_oracle é um módulo Python gratuito e de código aberto que permite conectar um aplicativo Python a um banco de dados Oracle. O módulo está em conformidade com as especificações da API do banco de dados Python, tornando -a uma escolha popular para executar comandos PL/SQL usando Python.

Você pode verificar o código -fonte do módulo no recurso definido abaixo:

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

Requisitos

Para seguir este tutorial, você precisará de acesso ao seguinte:

  1. Uma instalação de banco de dados Oracle em execução em sua máquina.
  2. O mais recente intérprete Python instalado em sua máquina.
  3. Permissões de banco de dados suficientes no servidor.

Você também pode usar uma instalação remota de banco de dados Oracle. Lembre -se de que você pode precisar das credenciais para o servidor de destino.

Etapa 1 - Configurando um usuário de banco de dados

A primeira etapa é configurar um novo usuário de banco de dados para o seu aplicativo Python. Você pode pular esta etapa se já tiver um usuário de banco de dados existente que deseja usar.

Embora esta etapa não seja um requisito, é bom limitar o aplicativo a um banco de dados específico e permissão no caso de um compromisso de segurança.

Comece lançando o comando SQL Plus, como mostrado:

$ sqlplus

Em seguida, insira o nome de usuário para o usuário privilegiado para o qual deseja se conectar. Isso solicitará uma senha que você definiu durante a instalação do seu banco de dados.

Digite Nome de usuário: SYS como SYSDBA

Digite a senha: **********

Depois de conectado, você deve ser jogado no shell PL/SQL como:

Conectado a:

Oracle Database 19C Enterprise Edition Release 19.0.0.0.0 - Produção
Versão 19.3.0.0.0
SQL>

Você também pode executar o comando acima para fazer login diretamente no PDB:

sqlplus sys/senha@pdborcl como sysdba

Substitua o nome de usuário e a senha pelas suas credenciais de destino.

Depois de conectado, execute o comando abaixo para criar um usuário.

SQL> Criar usuário Linuxhint;

Altere o usuário criado e defina as propriedades de destino, como espaço de tabela e limite de cota.

SQL> Alter o usuário linuxhint
Usuários de espaço de tabela padrão
Tempace temporária do espaço de tabela
cota ilimitada em usuários;

A consulta acima define o espaço de tabela padrão, o espaço de tabela temporário e o limite de cota do usuário criado, respectivamente.

Por fim, conceda as permissões necessárias ao usuário criado, conforme mostrado:

SQL> Grant Create Tabela,
Criar visualização,
Criar sequência,
Criar gatilho,
Criar tipo,
Crie visão materializada,
Criar sessão,
Criar procedimento
Para Linuxhint;
Grant teve sucesso.

A consulta acima concede a permissão do usuário para criar vários objetos de banco de dados, como tabelas, visualizações, procedimentos, gatilhos, vistas materializadas, sequências, etc.

Por fim, defina uma senha para o usuário -alvo como:

SQL> Alter o usuário Linuxhint identificado por senha;

Você pode sair da sessão SQL Plus e prosseguir para a próxima seção.

Etapa 2 - Instalando o módulo CX_oracle Python

A próxima etapa é configurar e instalar o módulo CX_oracle no Python. Esta etapa exige que você tenha Python e Pip instalado em sua máquina.

Verifique nossos tutoriais sobre o assunto para saber mais.

Execute o comando pip:

python3 -m pip install cx_oracle -upgrade

Depois de configurar, podemos prosseguir com nossa configuração de aplicativo.

Etapa 3 - Configuração do aplicativo

Comece criando o diretório pai para armazenar o código do seu aplicativo:

$ mkdir orclpy

Navegue no diretório criado e defina um novo DB_CONFIG.arquivo py. Isso será usado para armazenar a configuração do banco de dados.

$ cd orclpy && touch db_config.py

Edite o db_config.Arquivo PY com seu editor de texto favorito e adicione as informações de configuração do banco de dados, conforme mostrado na amostra abaixo:

$ vim db_config.py

Informações de configuração:

Usuário = 'Linuxhint'
senha = 'senha'
dsn = 'localhost/orcl'
porta = 1512
coding = 'utf-8'

O arquivo de configuração mantém informações para fazer login no servidor. O usuário e as senhas se referem ao usuário que criamos na etapa 1.

O DSN define o nome da fonte de dados, que inclui o nome do host do servidor e o nome do banco de dados flugable. Nesse caso, pdborCl1.

Etapa 4 - Conecte -se ao banco de dados

Depois de ter a configuração do conjunto de dados, podemos conectar o aplicativo ao servidor.

Comece criando um arquivo para armazenar seu código de aplicativo:

$ Touch Main.py

Edite o arquivo e adicione o código:

importar cx_oracle
importar db_config
tentar:
Conn = cx_oracle.CONECTAR(
db_config.DO UTILIZADOR,
db_config.senha,
db_config.dsn,
codificação = db_config.codificação)
print ("Versão do banco de dados:", Conn.versão)
Exceto cx_oracle.Erro como e:
impressão (e)
finalmente:
Se Conn:
Conn.FECHAR()

Começamos importando o módulo CX_oracle e o arquivo db_config no código acima.

Em seguida, embrulhamos o bloco de conexão dentro de um bloco de tentativa. O objeto de conexão é armazenado em 'Conn' usando o cx_oracle.Função de conexão.

Se a conexão for bem -sucedida, imprimimos a versão do banco de dados usando o Conn.versão. Caso contrário, pegamos o erro e o imprimimos.

Finalmente, fechamos a conexão usando o Conn.Função Close ().

Podemos executar o código como:

$ python3 main.py

Isso deve retornar a saída como:

$ python main.py
Versão do banco de dados: 19.3.0.0.0

Conclusão

Esta é uma discussão sobre o processo de conectar seu aplicativo Python ao seu banco de dados Oracle usando o módulo CX_oracle.