Projeto que visa padronizar a comunicação com alguns bancos de dados


Keywords
ODBC, PostgreSQL, DBMaker, Firebird, SQLServer
License
MIT
Install
pip install pymaxdb==1.1.7

Documentation

pymaxdb

Projeto que visa padronizar a comunicação com alguns bancos de dados.

Objetivo

  • Padronizar a conexão com bancos de dados distintos;
  • Utilizar métodos padronizados para realizar operações em bancos de dados;
  • Melhorar controle de operações que envolvem atualizações em bancos de dados.

Instalação

pip install pymaxdb

Utilização

A comunicação é realizada através da instanciação da classe conexao, que recebe em um de seus parâmetros o nome do banco de dados que se deseja conectar. O parâmetro nome_conexao recebe nomes pré-definidos, que podem ser: Postgres, (conexão PostgreSQL), DBMakerODBC (necessário criação prévia de uma conexão DBMaker ODBC), SQLServerODBC (conexão SQL Server ODBC) e Firebird (conexão Firebird).

from pymaxdb import conexao

try:
    # Conexão PostgreSQL
    con = conexao(nome_conexao='postgres', host='127.0.0.1', port='5432', db='nome_database', usr='usuário', pwd='senha')

    # Conexão DBMaker ODBC
    # con = conexao(nome_conexao='dbmakerodbc', db='nome_dsn', usr='usuário', pwd='senha')  
    
    # Conexão SQL Server ODBC
    # con = conexao(nome_conexao='sqlserverodbc', db='nome_dsn', usr='usuário', pwd='senha')
    
    # Conexão Firebird
    # con = conexao(nome_conexao='firebird', host='127.0.0.1', port='3050', db='/caminho_database/nome_database.fdb', usr='usuário', pwd='senha')
    
    try:
        con.executar('insert into nome_database values(1)') 
        con.efetivar() # commit

        rs = con.consultar('select * from nome_database')
        print(rs)

        proximo_registro = con.proxima_chave('nome_database', 'campo_chave')
        print(proximo_registro)
    except Exception as e:
        con.rollback()
        print(e)
    finally:
        con.fechar() # close connection       
except Exception as e:    
    print(e)

O pacote também possui mais algumas classes e funções utilitárias:

  • conexao_dbmaker
    • Permite controlar a quantidade de tentativas de conexão ao banco de dados DBMaker, no caso do número de conexões permitidas exceder.
from pymaxdb import conexao_dbmaker

try:
    con_dbmaker = conexao_dbmaker(tentativas_conexao=3, dsn='nome_dsn', usr='usuário', pwd='senha').conectar()
    
    try:
        print(con_dbmaker.consultar('select * from nome_database'))        
    except Exception as e:
        con.rollback()
        print(e)
    finally:
        con_dbmaker.fechar()
except Exception as e:
    print(e)