Autore Topic: Passaggio db da mysql a sqlite compatibile per Android  (Letto 1704 volte)

Offline clangel

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    Seven
Passaggio db da mysql a sqlite compatibile per Android
« il: 18 Gennaio 2011, 16:32:01 CET »
0
E' da un po che smanetto sulla programmazione Android, ho una buona base java e mysql. Nel imparare l'interazione del sistema cn il dbms non ho avuto grosse difficoltà seguendo i vostri consigli ma adesso mi trovo di fronte ad un problema.
E' la prima volta che interagisco con sistemi abbastanza complessi e su database grandi, percui avrei bisogno di qualche consiglio.
Ho un database fatto per comodità in mysql, essendo complesso di chiavi esterne ecc, ho preferito crearlo cosi e non attraverso sqliteman, pensando che esistesse un modo semplice per effettuare una conversione. Ma non riesco a capire se questa è una cosa possibile.
Ho guardato un po in giro e ho visto che teoricamente si potrebbe anche usare direttamenete il db mysql per la mia app, ma preferirei creare il db da sqlite e inserirlo dentro la mia applicazione, cosi da usare le classi di Android stesso.
Qualcuno può illuminarmi su questa faccenda, è possibile farlo? e come?
Ringrazio per il tempo dedicatomi

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #1 il: 18 Gennaio 2011, 16:37:36 CET »
0
Da profano, ti consiglio di controllare se la versione di SQLite di Android supporta le caratteristiche di MySql che stai usando.
Per esempio, da quello che ricordo, non supporta le foreign keys.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #2 il: 18 Gennaio 2011, 17:47:49 CET »
0
Da profano, ti consiglio di controllare se la versione di SQLite di Android supporta le caratteristiche di MySql che stai usando.
Per esempio, da quello che ricordo, non supporta le foreign keys.
a me pareva di averle usate...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #3 il: 18 Gennaio 2011, 18:20:44 CET »
0
a me pareva di averle usate...

Può tranquillamente darsi che mi sbagli, ricordo solo che c'erano delle limitazioni, per quello consigliavo di controllare cosa era supportato.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #4 il: 18 Gennaio 2011, 18:24:39 CET »
0
Può tranquillamente darsi che mi sbagli, ricordo solo che c'erano delle limitazioni, per quello consigliavo di controllare cosa era supportato.
mmm
Codice: [Seleziona]
KEY_ID integer NOT NULL REFERENCES "+CLASSIPREST_TABLE+" ("+ClassiPrestMD.ID+") ON DELETE RESTRICT ON UPDATE CASCADE ,
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline clangel

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    Seven
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #5 il: 18 Gennaio 2011, 22:22:05 CET »
0
Ho fatto qualche ricerca ed effettivamente Sqlite ha dei problemi con le ForeignKey ma a livello pratico con l'utilizzo di trigger è possibile forzarne l'utilizzo.
Ma il mio problema permane :( idee??

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #6 il: 18 Gennaio 2011, 22:35:37 CET »
0
di quante tabelle è composto il db?
potrebbe essere piu semplice rifare la struttura su un db sqlite nuovo sul telefono. esporti gli insert da ogni tabella in un file di testo, che andrai a leggere per popolare il db sqlite.

Offline clangel

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    Seven
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #7 il: 18 Gennaio 2011, 23:01:04 CET »
0
di quante tabelle è composto il db?
potrebbe essere piu semplice rifare la struttura su un db sqlite nuovo sul telefono. esporti gli insert da ogni tabella in un file di testo, che andrai a leggere per popolare il db sqlite.

Eh avevo pensato a questa soluzione, sono 11 tabelle con varie relazioni tra di loro, sono riuscito ad estrarre dal database mysql il file di testo relativo all'intero db. Poi cmq il mio db è ancora non popolato, quindi se proprio nn trovo strade alternative mi dedicherò a questa soluzione

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #8 il: 18 Gennaio 2011, 23:52:09 CET »
0
Può tranquillamente darsi che mi sbagli, ricordo solo che c'erano delle limitazioni, per quello consigliavo di controllare cosa era supportato.

Si effettivamente l'integrità referenziale è supportata solo da una certa versione di sqlite in poi, sempre meglio controllare.
Al massimo si può creare qualche trigger che mette a posto il tutto ;)

Offline clangel

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    Seven
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #9 il: 19 Gennaio 2011, 16:52:46 CET »
0
Sono riuscito ad esportare il db da mysql sia sotto forma di txt che come formato sql, ho scaricato SQLite Database Browser e con immenso piacere ho trovato che ha una funzione di import di database .sql , ma come mi sono accinto ad importare il mio database il messaggio è stato " error importing data at line ... " .
Essendomi ricordato dei vostri consigli, credevo fossero le chiavi esterne il problema cosi ho creato un database di prova con una semplice tabella, ma il risultato è stato il medesimo.
Avete consigli? Ci sto sbattendo da un po..

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #10 il: 19 Gennaio 2011, 17:07:39 CET »
0
Sono riuscito ad esportare il db da mysql sia sotto forma di txt che come formato sql, ho scaricato SQLite Database Browser e con immenso piacere ho trovato che ha una funzione di import di database .sql , ma come mi sono accinto ad importare il mio database il messaggio è stato " error importing data at line ... " .
...
Avete consigli? Ci sto sbattendo da un po..

Sarebbe utile l'errore completo e possibilmente la linea SQL incriminata.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #11 il: 19 Gennaio 2011, 17:32:07 CET »
0
Sono riuscito ad esportare il db da mysql sia sotto forma di txt che come formato sql, ho scaricato SQLite Database Browser e con immenso piacere ho trovato che ha una funzione di import di database .sql , ma come mi sono accinto ad importare il mio database il messaggio è stato " error importing data at line ... " .
Essendomi ricordato dei vostri consigli, credevo fossero le chiavi esterne il problema cosi ho creato un database di prova con una semplice tabella, ma il risultato è stato il medesimo.
Avete consigli? Ci sto sbattendo da un po..
SDB secondo me importa malissimo i file. Ho provato tempo fa sqlite3man e mi sembrava carino, puoi provare quello.
Rimane comunque,come detto da bradipao,dicci qual'è il problema!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline clangel

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    Seven
Re:Passaggio db da mysql a sqlite compatibile per Android
« Risposta #12 il: 19 Gennaio 2011, 17:34:18 CET »
0
l'errore era solo quello e faceva riferimento ad una riga particolare, ma comunque ogni file sql che riceveva per importarlo trovava degli errori, cosi mi sono affidato ad altro...eee...rullo di tamburi...ho risolto!!!! ( almeno credo)
Ho trovato un applicazione che in 2 semplici passi mi ha tolto dai guai. Permette la trasformazione di db da mysql a sqlite e viceversa con estrema facilità.
Ancora non ho provato l'effettivo funzionamento con android però attraverso SQLite browser sono riuscito a vedere il mio database trasformato e mi "pare" che però come dicevate voi ha eliminato tutte le chiavi esterne.
Segnalo il nome dell'applicazione che mi è stata utile, per favorire chiunque abbia un problema simile : DBConvert for SQLite & MySQL .
appena posso testo il db cn Android per confermare il pieno funzionamento.