ciao raga
nel mio programma ho inserito il seguente codice per effettuare dei backup del database sqlite3
che fino ad oggi ha funzionato bene.
SHELL ("cp -r " & m1.Percorso & " " & m1.Destinazione)
CATCH
Message.Error(Error.Text)
Oggi su un pc dove ho effettuato una copia di backup e sulla copia ho trovato diverse tabelle vuote, preoccupato ho controllato tutti i pc (10) dove gira il programma e 3 di questi avevano tabelle danneggiate nelle copie di backup.
La cosa mi ha terrorizzato, in quanto se si dovesse danneggiare il database principale perderei tutti i dati.
Come posso effettuare delle copie sicure magari per giorno in modo da limitare i danni in caso di errore?
Inutile dire che se una cosa del genere si dovesse verificare, per i danni economici arrecati io e il pinguino verremo messi davanti al plotone di esecuzione.
Esiste il comando COPY di Gambas per copiare un file.
All'epoca in cui il mio gestionale girava su SQLite3 usavo COPY e non mi è parso di aver avuto problemi strani per il backup.
Magari mettici un controllo sulla presenza del file per evitare sovrascritture:
DIM hFile1, hFile2 AS STRING
hFile1 = Indirizzo_completo_DB
hFile2 = Indirizzo_completo_DB & ".bkp"
IF Exist(hFile2) THEN
KILL hFile2
ENDIF
COPY hFile1 TO hFile2