Skip to content

connection_205_trivasadb3.py

Ruta original: docs/proyectos/poliza-explor/scripts/connection_205_trivasadb3.py

"""Conexion a .205/TRIVASADB3 -- ver docs/arquitectura/servidores-y-bases.md
para que es esta base (copia restaurada, no produccion).

Requiere las variables de entorno TRIVASADB_USER / TRIVASADB_PASSWORD (cuenta
'sa', la misma que usa trivasa-bi-core/shared/db_credentials.sa() contra
.200/.204/.205) -- NUNCA hardcodear el password aqui. Este archivo tuvo el
password en texto plano hasta 2026-08-29 (repo publico, expuesto en git
history, password no rotado por falta de acceso -- ver
docs/arquitectura/servidores-y-bases.md).
"""
import os

import pandas as pd
from sqlalchemy import create_engine
from sqlalchemy.engine import URL

_user = os.environ["TRIVASADB_USER"]
_password = os.environ["TRIVASADB_PASSWORD"]

engine = create_engine(URL.create(
    "mssql+pymssql", username=_user, password=_password,
    host="192.168.117.205", port=1433, database="TRIVASADB3",
))

def q(sql):
    return pd.read_sql(sql, engine)

def show(sql):
    df = q(sql)
    print(df.to_markdown(index=False))
    print(f'\n{len(df)} rows')
    return df