Autore Topic: [risolto]Sqlite e Where  (Letto 3999 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #30 il: 09 Settembre 2010, 17:19:14 »
Non avendo dimestichezza con im DB, non posso dare consigli appropriati, ma cerco di venirti incontro col ragionamento. Non ho capito come possa funzionare la correlazione se tu hai 10 DB formalmente duplicati , ma contenenti tutti dati diversi e tutti indipendenti l'uno dall'altro, perché non visibili tutti in rete.

Supponiamo che i tuoi 10 pc si trovino in 10 stabilimenti diversi, numerati da 1 a 10. Potresti anche pensare a creare in tutti i pc una cartella col nome di ciascuno  stabilimento, sotto una cartella comune "Stabilimenti"; nel programma potresti aggiungere nella Form_x che usi normalmente per l'accesso iniziale al DB (uno da scegliere) una ListBox con l'elenco di tutti i nomi mnemonici dei path con "Stabilimento1, Stabilimento2, ...,Stabilimento10. L'indice di ricerca nella ListBox dovrebbe essere lo stesso per ricercare in un array corrispondente i path relativi agli stabilimenti (Es.: /home/stabilmenti/stabilimento1, /home/stabilmenti/stabilimento2, ...,/home/stabilmenti/stabilimento10), 
Ciò ti permetterebbe di scegliere inizialmente il DB su cui lavorare e da quel momento, fino alla chiusura del programma, vedresti solamente quel DB. Certo, sarebbe conveniente che anche i DB avessero nomi diversi, per non andare incontro a possibili errori.

Tutto questo non ti risparmia dal tenere un'attenta rubrica coi nomi dei DB e la loro data di ultimo aggiornamento, per curare a manina (mi pare però assai pericoloso), l'allineamento saltuario dei DB, in modo da essere sicuro di lavorare sempre sull'ultimo aggiornamento fatto.

Forse non sarò stato utile, ma é un'idea. In ogni modo,secondo me, é necessario che tu tenga nota elettronica dell'ultimo aggiornamento di ciascun DB, per esempio, sulla penna che utilizzi per la copia dei DB.
Es. Tabella_Raccordo_Ultimo_Agg_DB:
DB.Stabilimento1 | 20100901 | 221015
DB.Stabilimento2 | 20100831 | 150301
................................................................
DB.Stabilimento10 | 20100906 | 203231

Detta tabella ti permetterebbe di non ricoprire per errore un  DB del HD del pc di avvio nuovo lavoro, coi dati dello stesso DB, ma arretrati rispetto all'ultima data di aggiornamento (a causa di un saltato salvataggio), o di non andare a lavorare su un DB aggiornato altrove, ma ancora non ricopiato nel HD corrente.

A te l'ardua scelta! :D
Ciao.
:ciao:

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #31 il: 09 Settembre 2010, 20:11:13 »
Lo fà in base alle condizioni di trigger, ovvero delle istruzioni di constraint date alla creazione, o dopo, della tabella.


Grazie per la risposta ma per me è arabo non so ne cosa sono i trigger ne le istruzioni di costaraint

@Golia
In effetti era quello che mi serviva, inserisco i dati sia del cliente che della sottotabella e solo in fase di eliminazione mi pulisce entrambe.

ulteriore richiesta: mi posti una query per scrivere e modificare il database con mysql? mi serve per vedere le differenze con sqlite e come devo modificare.

@Picavbg
In effetti faccio una cosa simile al tuo consiglio, non ho problemi di sovrascrittura o disallineamento in quanto i dati vengono scritti o modificati solo nella sede di appartenenza, nella sede centrale vengono solo letti e analizzati, allo scopo ho realizzato una variante del programma disattivando le funzioni di modifica.

 

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #32 il: 09 Settembre 2010, 21:44:23 »
è la stessa cosa, non dovresti avere problemi. Il mio gestionale che gira con mysql l'ho provato con sqlite solamente cambiando i parametri di connessione. Come ti ho detto, io ho trovato diverso solo la creazione delle tabelle, il resto è tale e quale

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #33 il: 09 Settembre 2010, 22:07:03 »
Questo però con il mio sistema.. non conosco il tuo :D anche se sarà lo stesso ;)
da quà puoi scaricare un semplice esempio con mysql http://www.gambas-it.org/smf/index.php?action=dlattach;topic=1328.0;attach=907
Fammi sapere, ciao

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #34 il: 10 Settembre 2010, 14:39:22 »
Ciao Golia

ho collegato la nuova versione del programma a mysql, tutto ok.

volevo chiederti per i campi che formato usare?
i campi data = date?
i campi numerici = numerico per tutto o specificare integer e float?

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #35 il: 10 Settembre 2010, 14:56:20 »
Ciao dex
I campi data uso anch'io date.
Per i campi numerici ho usato INT e DECIMAL , adesso uso DOUBLE.
Non sono bravo a capire quale formato sia il migliore  ;) da poco uso double perchè va bene con il componente di Milio, GridBox.
Vedo che gestisce bene numeri interi e decimali.

Mi sembra di aver capito che il passaggio è stato abbastanza indolore   :), bene  :2birre:

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #36 il: 11 Settembre 2010, 00:32:22 »
il passaggio è stato indolore anche grazie a te.
Ora per completarlo sarà un'impresa titanica.

Ho visto che Mysql ha 38 formati diversi, solo per i numeri ne sono 5 o 6, ci sarà una differenza ad usare un formato o un'altro.

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #37 il: 11 Settembre 2010, 09:53:34 »
Si, io non ho mai approfondito  :-\
Ho trovato questa miniguida http://scaracco.altervista.org/SQL/FormatoCampiMySQL.html

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #38 il: 14 Settembre 2010, 00:40:32 »
@fsurfing

sto provando ad inserire il codice id backup.
Codice: [Seleziona]
   1. PUBLIC SUB Button1_Click()  
   2.  
   3.  nomefile = User.Home & "/gesthotel/backup/" & nomefile & ".sql"  
   4.  comando = "mysqldump --opt -l -h " & percorso_db & " -u " & utente_mysql & " --password=" & pass_mysql & " " & nome_db & " > " & nomefile  
   5.    
   6.  
   7.   SHELL comando  
   8.  
   9.  
  10. END  

nomefile = User.Home & "/gesthotel/backup/" & nomefile & ".sql"   è la tua cartella di destinazione per il backup!

percorso_db? non sono riuscito a capire quale percorso.
« Ultima modifica: 14 Settembre 2010, 00:44:30 da dex »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #39 il: 14 Settembre 2010, 00:59:17 »
@golia

ho provato il codice:

Citazione
PUBLIC SUB Button5_Click()

      DIM strexe AS String 
    DIM hbackup AS Process 
    strexe = "mysqldump -uroot -p" 
   strexe &= "dex" ' tua password 
    strexe &= " --opt " 
    strexe &= m1.NamDb ' nome del database 
   strexe &= " > " & "/home/aft/temp/" ' percorso 
    strexe &= "/prova.sql" ' nome file output 
     
   hbackup = SHELL (strexe) 

END

PUBLIC SUB Button6_Click()

      DIM strexe AS String 
   DIM hbackup AS Process   
    strexe = "mysql < /home/aft/temp/prova.sql -u root -p"   
   strexe &= "dex" 'tua password 
   hbackup = SHELL (strexe) 

END

Il Backup funziona, il restore nonostante non dia nessun errore non va.
dove sbaglio?

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #40 il: 14 Settembre 2010, 01:07:30 »
a prima vista manca uno spazio prima della password, spero sia solo quello, a me funziona

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #41 il: 14 Settembre 2010, 01:12:00 »
Ho notato anche questo nel backup
Citazione
   strexe &= " > " & "/home/aft/temp/" ' percorso
    strexe &= "/prova.sql" ' nome file output
     
il risultato dovrebbe essere questo .. /home/aft/temp//prova.sql
C'è un / di troppo

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #42 il: 14 Settembre 2010, 01:37:02 »
per lo spazio ho provato a metterlo e a toglierlo niente da fare

per il doppio // lo avevo notato anche io, ma se lo tolgo non funziona.

per gli uroot ho notato che uno è u root l'altro uroot.
anche li ho fatto varie prove, ma il backup va con entambi il restore no.

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #43 il: 14 Settembre 2010, 08:58:18 »
cancelli il db prima di ripristinarlo? Quando avevo fatto le prove lo cancellavo con administrator per vedere se poi lo ripristinava, non ho provato se lo sovrascrive. Appena ho un pò di tempo provo anch'io

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [risolto]Sqlite e Where
« Risposta #44 il: 14 Settembre 2010, 13:33:59 »
si nelle prove ho dopo il backup ho cancellato il db.