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