Simple Machines Community Forum

SMF Support => Language Specific Support => Italiano (Italian) => Topic started by: ironflyz on March 26, 2013, 04:37:25 PM

Title: Errore del database
Post by: ironflyz on March 26, 2013, 04:37:25 PM
Salve,

in serata ho provato ad accedere al forum che amministro ma appare la scritta

"Errore del Database"
"Ritenta! Se riappare questa schermata, segnala il problema ad un amministratore."

L'amministratore è il sottoscritto ma non ho idea di cosa sia successo, oltre che il database ha dei problemi, si può correggere ?

Grazie a chiunque mi dia aiuto.
Title: Re: Errore del database
Post by: emanuele on March 26, 2013, 06:01:26 PM
E' una query.
Hai installato un mod che ha fatto qualche casino con una query eseguita durante il login...adesso l'unica cosa che puoi fare, è accedere via phpmyadmin, trovare la tabella "smf_errors", andare alla fine e trovare l'errore. Per filtrarli cerca quelli che hanno come "error_type" il valore "database".
Title: Re: Errore del database
Post by: ironflyz on March 26, 2013, 07:12:25 PM
Non ho installato nessuna mod.
Title: Re: Errore del database
Post by: ironflyz on March 26, 2013, 07:14:45 PM
P.s. il phpadmin è per chi ha un database sql o sbaglio, il mio è sqlite.
Title: Re: Errore del database
Post by: emanuele on March 26, 2013, 07:52:16 PM
Quote from: ironflyz on March 26, 2013, 07:12:25 PM
Non ho installato nessuna mod.
Beh, allora ce l'hai "rotto" dall'ultima volta che hai installato qualcosa...le query non si rompono per caso...

Quote from: ironflyz on March 26, 2013, 07:14:45 PM
P.s. il phpadmin è per chi ha un database sql o sbaglio, il mio è sqlite.
Ce n'è una versione equivalente che devi installare e "configurare" (devi dirgli il percorso del file), al momento non mi ricordo dove trovarla, puoi cercare su google "sqlite phpmyadmin" o simili, dovresti trovarla.
Title: Re: Errore del database
Post by: ironflyz on March 27, 2013, 04:15:54 AM
Se trovo il phpmyadmin per sqlite la devo caricare sullo spazio dove è il forum ?
Si è probabile che sia "rotto" infatti qualche mese fa in questa discussione ne abbiamo parlato : http://www.simplemachines.org/community/index.php?topic=496027.0 purtroppo le soluzioni che ho provato non sono servite.

Adesso cerco il phpmyadmin per sqlite e provo, faccio sapere cosa trovo.

Grazie.

p.s. le uniche cose installate sono la versione 2.0.4 e il tema.
Title: Re: Errore del database
Post by: ironflyz on March 27, 2013, 04:24:04 AM
Ho trovato questo spero vada bene : phpliteadmin va bene ? Non vorrei creare ulteriori problemi.


p.s. quando ho scritto che non ho installato mod, intendevo che non ho mai installato mod sul forum è come in origine, ho solo modificato il tema.
Title: Re: Errore del database
Post by: emanuele on March 27, 2013, 08:55:40 AM
Yep, è lui. Caspita, è carina la nuova versione! (ne avevo una vecchia e la grafica non era esattamente "entuiasmante", ma essendo un tool di amministrazione non l'ho mai considerato un aspetto fondamentale).

Lo carichi sullo spazio web e  quando vai ad aprirlo gli indichi come database il percorso completo (/home/qualcosa/forum/adslads.db) al file del database.
Poi potrai navigare tra le tabelle.
Title: Re: Errore del database
Post by: ironflyz on March 27, 2013, 09:22:16 AM
Ok grazie, procedo come hai detto e ti faccio sapere.
Title: Re: Errore del database
Post by: ironflyz on March 27, 2013, 09:44:37 AM
Dunque sono riuscito a trovare la tabella errori di smf, ho cliccato su browse e vedo che ci sono 947 errori di database, a me sembrano parecchi, non riesco a capire quale sia l'ultimo errore se il primo della lista o l'ultimo, comunque l'errore ricorrente in tutti è questo "Errore del Database: database disk image is malformed<br />" e l'indirizzo a cui fanno riferimento è questo "/web/htdocs/xxxxxxxxxx/home/xxxxxxxx/Sources/Subs.php" sia il numero 1 come errore sia il numero 965 (sono aumentati azz) sono dello stesso tipo.

Dimmi se e cosa devo dirti per capirci qualcosa, io non ci capisco quasi nulla.
Title: Re: Errore del database
Post by: emanuele on March 27, 2013, 10:47:02 AM
Suona di corruzione del db...
http://techblog.dorogin.com/2011/05/sqliteexception-database-disk-image-is.html
Title: Re: Errore del database
Post by: ironflyz on March 27, 2013, 04:39:21 PM
Quindi è per quello che anche l'upgrade del database non funzionava ? Dovrei provare la procedura descritta nel link ? Non so se sono in grado di fare tutto, perchè non è nel mio campo di conoscenze, oltretutto so l'inglese ma da questo a capire esattamente e non fare casini ce ne passa, comunque farei tutto su una copia del database.
Title: Re: Errore del database
Post by: emanuele on March 27, 2013, 05:07:27 PM
*Devi* fare tutto su una copia!
Questo è assolutamente "normale". ;)

Purtroppo è un po' che non tocco un db SQLite, quindi sono un pelo arrugginito.

mmm...interessante, prova a guardare qua:
http://www.sqlite.org/download.html
tra i download c'è un "sqlite-analyzer-win32-x86-3071600.zip", prova a scaricarlo e "dargli in pasto" (non so come funziona, ma immagino ti chiederà il file in qualche modo...) il tuo database (dovrai scaricarlo in locale sul tuo computer) e vedere cosa ti dice...
Title: Re: Errore del database
Post by: ironflyz on March 27, 2013, 05:43:15 PM
Ci provo, ormai provo qualsiasi cosa.
Title: Re: Errore del database
Post by: ironflyz on March 28, 2013, 04:41:42 AM
Eccomi a relazionare, dunque, ho scaricato lo strumento per analizzare il database, ma non si esegue, ho provato a scaricarlo altre volte, ed eseguirlo come amministratore e in modalità compatibilità, niente da fare, proverò ancora magari su un altro pc, a volte funziona cambiare macchina.

Per quanto riguarda l'errore, il forum mi ha restituito un errore con una motivazione più completa :

"database disk image is malformed

File: /web/htdocs/www.xxxxxx.xxx/home/ilmioforumxxxxx/Sources/Subs-MembersOnline.php
Riga: 82

Nota: Sembra che il tuo database debba essere aggiornato. I file del forum risultano attualmente alla versione SMF 2.0.4, mentre il database corrisponde alla versione 2.0.2. Il problema potrebbe essere risolto eseguendo l'ultima versione del file upgrade.php."

Credevo che i file del database si aggiornassero all'ultima versione del software quando fa l'aggiornamento, invece a quanto pare no, fare l'upgrade servirebbe ? L'ho fatto una volta e mi si è impallato l'aggiornamento.
Title: Re: Errore del database
Post by: ironflyz on March 28, 2013, 04:45:37 AM
Ecco questa cosa è strana, sono entrato nel forum vedevo tutto, anche il pannello amministrazione, l'unica cosa che non potevo fare è la manutenzione e vedere i topic, i post, il forum vero e proprio insomma, ma il resto era li, continuando a navigare  non mi fa vedere nemmeno quello adesso. Mi fa loggare comunque, anche se poi da errore per il database, ma in alto vedo il mio nick sul forum.
Title: Re: Errore del database
Post by: emanuele on March 28, 2013, 10:57:29 AM
Non usarlo, evidentemente il database è danneggiato, più lo usi più rischi di danneggiarlo ulteriormente! :o

A questo punto credo che l'unica soluzione sia tentare la procedura consigliata in quella pagina che ti ho linkato, è un po' laboriosa, ma è l'unica che probabilmente ti può permettere di salvare qualcosa...
Se non vuoi armeggiare con la linea di comando, c'è anche questo add-on per firefox:
https://addons.mozilla.org/en-us/firefox/addon/sqlite-manager/
che permette di gestire (compreso import/export) database SQLite.
Title: Re: Errore del database
Post by: ironflyz on March 28, 2013, 11:51:07 AM
Ci proverò ma la vedo dura non è che abbia capito bene tutto.
Title: Re: Errore del database
Post by: ironflyz on March 28, 2013, 11:53:30 AM
Dimmi se ho capito bene, scarico la shell per sqlite, e tramite riga di comando in pratica esporto il database per vedere se nell'esportazione si ripara ?
Title: Re: Errore del database
Post by: ironflyz on March 28, 2013, 12:04:20 PM
Scaricato la shell per sql dal link dell'articolo che mi hai postato, l'ho messa nella stessa cartella dove ho il database inserisco gli stessi comandi dell'articolo, sostituendo il nome fittizio del database con il nome del mio xxxxxx.db, esco e cosa dovrei vedere ? Un file salvato e diverso da far leggere nuovamente alprogramma per esportarlo ?
Title: Re: Errore del database
Post by: emanuele on March 28, 2013, 12:08:19 PM
Sì, quando dai la serie di comandi:
sqlite> .mode insert
sqlite> .output dump_all.sql
sqlite> .dump

dovresti trovarti un file di nome "dump_all.sql" che poi andrai a re-importare in un nuovo database.

NOTA IMPORTANTISSIMA: scusa, mi stavo dimenticando, SMF supporta SQLite 2.x e non il 3.x, quindi quando lanci la shell, non usare "sqlite3.exe", ma...boh, "sqlite.exe", oppure "sqlite2.exe" (a seconda di quello che esiste).
Title: Re: Errore del database
Post by: ironflyz on March 28, 2013, 12:15:43 PM
Dentro al file zip che scarico c'è solo sqlite3.exe

Quando faccio l'operazione mi ritrovo un file di 52 kb invece il database è di 45 mb ... sbaglio qualcosa di sicuro
TI scrivo la mia procedura :

1 - doppio click sulla shell che si apre
2 - nella riga di comando trovo già scritto "sqlite>" quindi non lo ripeto e scrivo .mode insert e clicco return
3 - digito .output nomedelmiodatabase.db return
4 - digito .dump return
5 - clicco su ctrl+c ed esco

fin qui tutto giusto ?
Title: Re: Errore del database
Post by: emanuele on March 28, 2013, 09:19:09 PM
Probabilmente fallisce perché il 3 non è compatibile con il 2?...non so...dovrei metterci mano direttamente mi sa...
Hai provato con l'addon per firefox?
Title: Re: Errore del database
Post by: ironflyz on March 29, 2013, 04:08:16 AM
No, ma solo perchè non uso firefox.

p.s. se cerco sul web la trovo un versione compatibile ? Dovrebbe essere tipo : sqlite2.exe o qualcosa del genere.
Title: Re: Errore del database
Post by: emanuele on March 29, 2013, 05:52:13 AM
Non è che morde se lo scarichi e provi, eh! :P
Disclaimer: non sto cercando di convincerti ad usarlo per navigare (non lo uso nemmeno io), ma è un programma come un altro che può fare quello che ti serve.

Appena accendo l'altro computer proverò, non so darti una risposta al momento.
Title: Re: Errore del database
Post by: ironflyz on March 29, 2013, 06:57:31 AM
Se mette a posto il database con quel plug-in lo uso, tentavo prima strade diverse senza dover installare altri programmi. Penso, forse sbagliando, che un programma fatto apposta sia meglio di un plug-in fatto anch'esso apposta, ma per natura meno complesso, anche se al giorno d'oggi certi plug-in sono molto completi come un programma, anche perchè sqlite è piccolo giusto come un plug-in. Ora però cerco sqlite2 poi semmai se non trovo nulla di soddisfacente passo a firefox e i suoi plug-in.
Title: Re: Errore del database
Post by: ironflyz on March 29, 2013, 07:30:33 AM
Provare a fare l'upgrade del forum dalla versione 2.0.2 alla 2.0.4 non serve ?
Title: Re: Errore del database
Post by: emanuele on March 29, 2013, 08:49:43 AM
No. Almeno non a risolvere questo problema. Certo dovresti farlo una volta che avrai di nuovo accesso.

Il tuo problema è il database che si è corrotto, l'unica soluzione "definitiva" è migrare a mysql, purtroppo SQLite non è troppo adatto per applicazioni anche di medio-piccole dimensioni...
ETA: ed ovviamente la migrazione è bene farla solo quando il db sarà stato riparato.
Title: Re: Errore del database
Post by: ironflyz on March 29, 2013, 11:29:04 AM
Ho provato a migrare a mysql, mi avevi anche linkato un tuo script per farlo, ma non funzionava, forse il database era già corrotto e non riusciva a fare la migrazione, così ero rimasto a sqlite.
Title: Re: Errore del database
Post by: emanuele on March 29, 2013, 12:00:49 PM
A costo di ripetermi, l'unica cosa che mi viene in mente per fare in fretta è metterci le mani sopra io...altrimenti quel che potevo immaginare l'ho scritto.
Title: Re: Errore del database
Post by: ironflyz on March 29, 2013, 12:43:15 PM
Sul database o sul programma per correggerlo ? Perchè se è sul database dimmi cosa devo fare per fartelo avere e lo faccio.
Title: Re: Errore del database
Post by: ironflyz on March 29, 2013, 04:13:37 PM
Per non lasciare nulla di intentato e come mi hai suggerito ho provato l'add-on per firefox quando provo ad aprire il file mi dice che è corrotto (ma che scoperta, me lo doveva dire lui ...) e quindi anche con quello niente da fare purtroppo. Una precisazione, il file del database del forum sqlite è quello con estensione .db  vero ?
Title: Re: Errore del database
Post by: ironflyz on March 31, 2013, 08:43:39 AM
Eureka !!

Dunque ho seguito per filo e per segno la procedura del link che mi hai postato, mi ha salvato un file di quasi 10 mb più piccolo, ho detto va be' ci provo, intanto avevo salvato una copia del database vecchio sul pc, ho caricato la versione del database che mi è uscita con la procedura, funziona !! E non mi da neppure più errore quando faccio la manutenzione del database, la procedura è valida e funge !! Il mio errore stava nel lanciare la shell scaricata, ma non si fa così, l'ho capito dopo. Bisogna lanciare la finestra dos del pc, basta andare su esegui e digitare cmd, si apre la finestra dos, si va nella cartella dove si è salvata la shell per sqlite, si digita sqlite.exe (spazio) nomedeldatabase.db, solo a questo punto si immettono i comandi che descrive nell'articolo, e si segue sempre la procedura, alla fine ho risolto. Grazie Emanuele come sempre gentile e soprattutto efficiente, grazie ancora!!