Instalar msodbcsql18 y auto-detectar driver de SQL Server en Linux/Windows

This commit is contained in:
desoladorxx
2026-07-22 16:51:52 -05:00
parent 16220f7a44
commit 1edbb89ce0
3 changed files with 38 additions and 5 deletions

View File

@@ -138,12 +138,26 @@ class DataManager:
def sql_conn(self):
import pyodbc
driver = os.getenv("SQL_DRIVER")
if not driver:
installed = pyodbc.drivers()
if "ODBC Driver 18 for SQL Server" in installed:
driver = "ODBC Driver 18 for SQL Server"
elif "ODBC Driver 17 for SQL Server" in installed:
driver = "ODBC Driver 17 for SQL Server"
elif "FreeTDS" in installed:
driver = "FreeTDS"
else:
driver = "SQL Server"
conn_str = (
f"DRIVER={{SQL Server}};SERVER={self.sql_server};"
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
f"DRIVER={{{driver}}};SERVER={self.sql_server};"
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass};"
"Encrypt=no;TrustServerCertificate=yes;"
)
return pyodbc.connect(conn_str)
# ── CHATWOOT: leads de pauta (mapa de campañas, dedup por mensaje) ──
def traer_leads_chatwoot(self):
sql = f"""