Seccion 5
Dia: 30/05/25
Hora de inicio: 16:20
Hora de fin: 18:45
Cantidad de horas trabajadas: 2 horas y 25 min.
Problemas encontrados:
-
En el SP
InsertarEmpleado, el mapeo de@inNombrePuestoaIdPuestodevolvíaNULLcuando el nombre tenía espacios en blanco al final. -
El script Python 1 (Cargador de Catálogos) arrojaba
UnicodeEncodeErroral imprimir nombres con acentos en consola de Windows. -
En el script Python 2 (Simulador de Operación), el parámetro
autocommit=Falsehacía que la transacción se quedara abierta y se saturara el pool de conexiones tras varios días de simulación.
Cómo fueron resueltos:
-
Reordenamiento de índices: Moví la sección
CREATE INDEXjusto después de la creación deMarcaAsistenciayMovimientoPlanillapara asegurar que existieran las tablas antes de indexarlas. -
Codificación UTF-8 en Python: En el
printde Python 1, forcésys.stdout.reconfigure(encoding='utf-8')al inicio del script para prevenir errores con caracteres nacionales. -
Autocommit en Python 2: Cambié la conexión a
autocommit=Truetras cada cierre semanal en elforpara liberar la transacción y evitar saturar el pool:
Dudas:
-
Si conviene añadir un
ON DELETE CASCADEen los FK de auditoría para limpiarEventLogcuando se elimine unEmpleado.
Forma que se trabajó:
-
Par de sesiones de pair-programming remotas via Discord, compartiendo el código corregido y validándolo en ambiente de prueba.
Problemas de instalación del software:
-
Ninguno.
Problemas de aprendizaje del software:
-
Comprender la diferencia de comportamiento entre
autocommit=FalseyTrueen pyodbc.
Investigaciones:
-
MSDN: “TRIM functions in T-SQL”
-
Pyodbc docs: “autocommit parameter”
Prueba de concepto:
-
Ejecuté todo el flujo (DDL → SPs → Python 1 → Python 2) en una base limpia y validé que:
-
Los índices se crean sin error.
-
InsertarEmpleadoya encuentraIdPuestocorrectamente. -
El Cargador imprime nombres acentuados bien.
-
La simulación completa de 160 días libera transacciones y no cuelga el pool.
-
Comments
Post a Comment