• Welcome to Simple Machines Community Forum. Please login or sign up.
September 21, 2021, 02:01:05 PM

News:

Join the Facebook Fan Page.


Errore del database

Started by ironflyz, March 26, 2013, 04:37:25 PM

Previous topic - Next topic

ironflyz

March 26, 2013, 04:37:25 PM Last Edit: March 26, 2013, 04:55:20 PM by ironflyz
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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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".


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

Non ho installato nessuna mod.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

P.s. il phpadmin è per chi ha un database sql o sbaglio, il mio è sqlite.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

March 27, 2013, 04:24:04 AM #6 Last Edit: March 27, 2013, 07:12:31 AM by ironflyz
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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

Ok grazie, procedo come hai detto e ti faccio sapere.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele



Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

*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...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

Ci provo, ormai provo qualsiasi cosa.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

Ci proverò ma la vedo dura non è che abbia capito bene tutto.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

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 ?
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

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 ?
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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).


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

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 ?
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

Provare a fare l'upgrade del forum dalla versione 2.0.2 alla 2.0.4 non serve ?
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

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.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

ironflyz

Sul database o sul programma per correggerlo ? Perchè se è sul database dimmi cosa devo fare per fartelo avere e lo faccio.
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

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 ?
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

ironflyz

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!!
"A me Chuck Norris lascia il posto sull'autobus"
"E tu ... chi sei veramente? Tigre o Elefante ? Io sono topo ... porto la peste, sono parassita e se non stai attento ti mordo il culo !"

Advertisement: