Page 1 of 1

pack en Server 2019

PostPosted: Thu Mar 25, 2021 4:54 pm
by miarcod
Buenas tardes

Tengo un sistema que corre con Windows Server 2019 y con ficheros dbf/cdxal que los usuarios acceden por terminal server ejecutando el programa localmente. Cuando regenero los índices siempre hacía un pack pero ahora desde que se instaló el programa en este servidor al ejecutar el pack se vuelve muy lento y si el fichero tiene muchos registros se queda colgado directamente.

De momento lo he solucionado desactivando la orden pack pero hasta ahora siempre me funcionó correctamente

Alguna sugerencia

Gracias de antemano.

Re: pack en Server 2019

PostPosted: Thu Mar 25, 2021 5:47 pm
by karinha
Mira como hago y no tengo problemas con ningun Windows.

Code: Select all  Expand view

#Include "Ord.Ch"

   LOCAL lPack      := .T.  // .T. Apaga os Registros Deletados.

   // crea un CHECKBOX en el DIALOGO:
   REDEFINE CHECKBOX lPack ID 21 OF oDlg COLORS nRgb( 250,   0,   0 ), nRgb(  72, 180, 215 ) UPDATE

   REDEFINE BUTTONBMP oAceitar ID 701 OF oDlg RESOURCE "ORGPASTA" TEXTRIGHT ;
      ACTION( ReIndPack( lPack, oMeter1, oMeter2, oMeter3, oMeter4,         ;
                                    oMeter5, oMeter6, DeOndeVem ),          ;
                  lSaida := .T., oDlg:End() )

FUNCTION ReIndPack( lPack, oMeter1, oMeter2, oMeter3, oMeter4, oMeter5,     ;
                           oMeter6, DeOndeVem )


   AEVAL(DIRECTORY( "CADGRUPO.cdx" ),{ |aFILE| FERASE(aFILE[F_NAME]) } )

   USE CADGRUPO NEW EXCLUSIVE ALIAS CADGRUPO

   IF lPack = .T.
      PACK
   ENDIF

   oMeter1:nTotal = RecCount()

   INDEX ON VAL(Field->GRUPOCOD) TAG GRUPOCOD TO CADGRUPO            ;
         FOR !DELETED()                                              ;
         EVAL ( oMeter1:Set( RecNo() ), CursorWait(), SysRefresh() ) ;
         EVERY 10

   INDEX ON Field->GRUPODESCR TAG GRUPODESCR TO CADGRUPO             ;
         FOR !DELETED()                                              ;
         EVAL ( oMeter1:Set( RecNo() ), CursorWait(), SysRefresh() ) ;
         EVERY 10

   // NAO USADO POR ENQUANTO
   INDEX ON Field->GRUPONOME TAG GRUPONOME TO CADGRUPO               ;
         FOR !DELETED()                                              ;
         EVAL ( oMeter1:Set( RecNo() ), CursorWait(), SysRefresh() ) ;
         EVERY 10

   CLOSE DATABASE

   // sigue...

RETURN NIL
 


Saludos.

Re: pack en Server 2019

PostPosted: Sat Mar 27, 2021 5:49 am
by miarcod
Hola

El programa se queda colgado cuando se ejecuta la orden PACK , los índices se generan sin problemas.

Re: pack en Server 2019

PostPosted: Sat Mar 27, 2021 8:16 am
by hmpaquito
Sólo veo una cosa más peligrosa que un mono con dos pistolas: Un pack que se cuelga, que puede generar perdida de informacion.

Has cambiado el OS solamente. Asi pues, el problema es, probablemente, externo a tu sistema. Revisa el antivirus: Desconectalo al menos para pruebas, puede estar dando la vara auditando constantemente el archivo que se está modificando/ empaquetando