Diagnóstico y fix SQL Server: SERVERNAME, TDS_Version, Puerto explicitos
This commit is contained in:
@@ -4,22 +4,21 @@ FROM python:3.10-slim
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# Instalar dependencias del sistema requeridas para pyodbc y msodbcsql
|
||||
# Instalar dependencias del sistema requeridas para pyodbc y FreeTDS
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
curl \
|
||||
gnupg \
|
||||
gcc \
|
||||
g++ \
|
||||
unixodbc \
|
||||
unixodbc-dev \
|
||||
freetds-bin \
|
||||
freetds-dev \
|
||||
tdsodbc \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Agregar la firma de Microsoft y el repositorio correspondiente a la versión de Debian instalada
|
||||
RUN curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \
|
||||
&& . /etc/os-release \
|
||||
&& curl -fsSL https://packages.microsoft.com/config/debian/$VERSION_ID/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& apt-get update \
|
||||
&& ACCEPT_EULA=Y apt-get install -y --no-install-recommends msodbcsql17 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
# Configurar FreeTDS globalmente con versión TDS 7.3 y charset UTF-8
|
||||
RUN mkdir -p /etc/freetds && echo "[global]\n\ttds version = 7.3\n\tclient charset = UTF-8\n" > /etc/freetds/freetds.conf
|
||||
|
||||
# Establecer directorio de trabajo
|
||||
WORKDIR /app
|
||||
|
||||
@@ -44,10 +44,22 @@ class DataManager:
|
||||
|
||||
def sql_conn(self):
|
||||
import pyodbc
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
if "FreeTDS" in self.sql_driver:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};"
|
||||
f"SERVER={self.sql_server};"
|
||||
f"PORT=1433;"
|
||||
f"DATABASE={self.sql_db};"
|
||||
f"UID={self.sql_user};"
|
||||
f"PWD={self.sql_pass};"
|
||||
f"TDS_Version=7.3;"
|
||||
f"ClientCharset=UTF-8;"
|
||||
)
|
||||
else:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
return pyodbc.connect(conn_str)
|
||||
|
||||
# ── Config de campañas (GitHub, opcional) ───────────────────
|
||||
|
||||
@@ -139,10 +139,22 @@ class DataManager:
|
||||
|
||||
def sql_conn(self):
|
||||
import pyodbc
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
if "FreeTDS" in self.sql_driver:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};"
|
||||
f"SERVER={self.sql_server};"
|
||||
f"PORT=1433;"
|
||||
f"DATABASE={self.sql_db};"
|
||||
f"UID={self.sql_user};"
|
||||
f"PWD={self.sql_pass};"
|
||||
f"TDS_Version=7.3;"
|
||||
f"ClientCharset=UTF-8;"
|
||||
)
|
||||
else:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
return pyodbc.connect(conn_str)
|
||||
|
||||
# ── CHATWOOT: leads de pauta (mapa de campañas, dedup por mensaje) ──
|
||||
|
||||
Reference in New Issue
Block a user