Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/12/2013, 13:18
insoft
 
Fecha de Ingreso: diciembre-2013
Ubicación: Colombia
Mensajes: 4
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Aumento desproporcionado del tamaño de las bases de datos en FireBird

Claro que ya vas entendiendo. El problema lo detectamos en los fragmentos que sirven como comentario dentro de los Procedures. No en nombres de objetos. Inclusive las descripciones de los objetos también las removimos por la misma causa. Observe por favor un fragmento del Procedure donde le muestro el caracter que se multiplica (sÃ-). El cual realmente debía ser una "i con tilde" para formar (sí-). De hecho otros caracteres se reemplazan por otras secuencias de caracteres raros.

Código FIREBIRD:
Ver original
  1. /*Primero se busca el dato con todos la informacion que entra por parametros*/  
  2.   if ((IEmp<>0) OR (aIPerfil<>'N/A') OR (IUsuario<>'N/A') OR (IWS<>'N/A') OR (ITDSop<>0))  
  3.   then begin  
  4.     SELECT SVALUE  
  5.     FROM abaconfigusuario  
  6.     WHERE (IEmp=:IEmp) AND (IPerfil=:aIPerfil) AND (NUsr=:IUsuario) AND (IWS=:IWS) AND  
  7.        (NTabla=:NTabla) AND (NSTabla=:NSTabla) AND (ITDSop=:ITDSop) AND  
  8.        (NField=:NField)  
  9.     INTO :SValue;  
  10.  
  11. /*Si fue dado el IWS y el valor no se ha encontrado, se busca con todos los datos igual pero  
  12.   sin el IWS solamente. Con esto se da la posibilidad de tener una configuracion sin IWS pero  
  13.   sÃ- con ITDSop. Antes, llegaba directo a los llamados recursivos y empezaba quitando el ITDSop  
  14.   por lo que nunca encontraba una configuracion en ese caso.*/  
  15.     if ((IWS<>'N/A') and (SValue IS NULL)) then begin  
  16.        SELECT SVALUE  
  17.        FROM abaconfigusuario  
  18.        WHERE (IEmp=:IEmp) AND (IPerfil=:aIPerfil) AND (NUsr=:IUsuario) AND (IWS='N/A') AND  
  19.           (NTabla=:NTabla) AND (NSTabla=:NSTabla) AND (ITDSop=:ITDSop) AND  
  20.           (NField=:NField)  
  21.        INTO :SValue;  
  22.          
  23.        if (NOT SValue IS NULL) then IWS='N/A';  
  24.     end  
  25.   end

Última edición por insoft; 11/12/2013 a las 13:22 Razón: Corrección del problema