Risultati da 1 a 10 di 10
-
23-11-2004, 18:41 #1
vbulletin (forum) Database Error!
questo è l'oggetto delle centinaia di mail che il sistema mi recapita ogni giorno.
e tutte riportano lo stesso problema.
La query che crea il problema è questa:
UPDATE session SET lastactivity=1101225367,location='/newreply.php?s=&action=newreply&threadid=
ecc ecc
ogni volta che viene eseguita, fallisce.
premessa, il tutto avviene sul db del forum della mia società, che senza searchindex popolato, pesa circa 2 giga.
Abbiamo:
Utenti: 207,543, Threads: 208,789, Posts: 2,983,335
e la versione del mio vbulletin è la 2.3.4.
Non passo alla 3.XX per ovvi motivi di implementazione con il sito, ormai tutto è gestito senza passare per le pagine del vbulletin, ma tramite un altro sistema ideato da noi, perfettamente funzionante. Quindi login e log out ecc.
Ora, come posso risolvere il problema delle query di update, che sul mysql sono notoriamente un problema?
-
24-11-2004, 10:13 #2
Originariamente Scritto da [~AlmoR~]
Non che cambi molto, ma solo per curiosità...
-
24-11-2004, 10:50 #3
Originariamente Scritto da Sergio
sarebbe da pazzi, anche con un server sql da 8 processori
-
24-11-2004, 19:29 #4
Non mi viene in mente nulla...
Più info ? versione MySql ? Ne ricordo una bacata che mandava in crash le tabelle, mi sembra la 4.0.12
Vedo che le variabili ipotetiche su quel link sono vuote, ma potrebbe essere un proposito settarle così, bisognerebbe anche vedere la query completa ed il messaggio di errore per lo meno.
-
25-11-2004, 01:28 #5
- Data Registrazione
- Nov 2004
- Messaggi
- 113
Dubito che VB faccia una query del genere e se lo fa, vuol dire che qualcuno ha ritoccato il codice di VB.
La query è ERRATA. La tabella Session ha il campo lastactivity impostato come campo numerico, quindi è normale che se cerchi di metterci dentro una stringa di testo ti dia un errore.
La giusta query è:
UPDATE session SET lastactivity=1101225367
Il resto, quello che viene dopo non va bene. Anche la forma è sbagliata.
Ciao.
-
25-11-2004, 11:25 #6
Originariamente Scritto da a7004
quella che ho scritto sopra, e ne riporto un'altra come esempio:
UPDATE session SET lastactivity=1101372377,location='/forumdisplay.php?s=&forumid=29' WHERE sessionhash='70cf07e6ea9a1d26d500c6b8768a73c2' ;
non è sbagliata affatto, e ripeto che non ho mai toccato il codice dell''updare.
la versione del mysql è 3.23.51, vecchiotta, ma se penso di aggiornarmi mi viene la tremarella alle gambe
-
26-11-2004, 01:14 #7
Anche io sono d'accordo con a7004, c'è qualche cosa che non quadra in quella query, bisognerebbe vederla completa, vedere esattamente il messaggio di errore e poi magari puo prenderti un bel fine settimana libero.... fare una bella serie di back up e provare ad aggiornare un pò il sistema
Paura ?
-
26-11-2004, 12:35 #8
- Data Registrazione
- Nov 2004
- Messaggi
- 113
Originariamente Scritto da [~AlmoR~]
...lastactivity=1101372377,location='/forumdisplay...
La sintassi corretta è:
...lastactivity='1101372377', location='/forumdisplay...
Aggiungi gli apici al valore di lastactivity e uno spazio dopo la virgola. Diciamo che l'importante sono gli apici che fanno capire a Mysql dove finisce il valore che vuoi assegnare alla variabile lastactivity.
Fai questa prova, ad esempio con PHPMYADMIN. Esegui le due query e vedi quale ti funziona. La mia sicuramente!
-
30-11-2004, 13:07 #9
Originariamente Scritto da [~AlmoR~]
-
30-11-2004, 13:54 #10
Originariamente Scritto da a7004
si certo che ci sono gli apici, nel codice ci sono, nella mail di errore non li riporta, ma nel codice ci sono,non funzionerebbe mica...
ma ho trovato il bug, e purtroppo è normale che mi dia quell'errore, tempo fa ho dovuto segare via la sessione, quando ho cambiato il sistema di login e registrazione. quindi, non ci posso fare molto.
Si, il mio Forum è quello di Multiplayer.it
Segnalibri