Files
Scripts/Banco/db.py
T

42 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
import os
import pyodbc
from dotenv import load_dotenv
load_dotenv()
DB_DRIVER = os.getenv("DB_DRIVER", "{ODBC Driver 17 for SQL Server}")
DB_SERVER = os.getenv("DB_SERVER")
DB_DATABASE = os.getenv("DB_DATABASE")
DB_USER = os.getenv("DB_USER")
DB_PASSWORD = os.getenv("DB_PASSWORD")
def get_connection():
"""Cria e retorna uma conexao com o banco de dados SQL Server, usando as credenciais definidas no .env."""
faltantes = [
nome for nome, valor in (
("DB_SERVER", DB_SERVER),
("DB_DATABASE", DB_DATABASE),
("DB_USER", DB_USER),
("DB_PASSWORD", DB_PASSWORD),
)
if not valor
]
if faltantes:
raise ValueError(
f"Variaveis de ambiente ausentes no .env: {', '.join(faltantes)}"
)
connection_string = (
f"DRIVER={DB_DRIVER};"
f"SERVER={DB_SERVER};"
f"DATABASE={DB_DATABASE};"
f"UID={DB_USER};"
f"PWD={DB_PASSWORD};"
f"TrustServerCertificate=yes;"
)
return pyodbc.connect(connection_string)