Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

MOD COMPATTA DB

Autore Messaggio
littlehawk

Eliminato
Eliminato
0 Discussione



Profilo - littlehawk
21 luglio 2003 alle 18:51:47 Profilo - littlehawkInvia un messaggio privato Rispondi quotando
Modificato il 21 luglio 2003 alle 19:27:51

Volete compattare i vostri DB ?
Ecco la soluzione PERFETTAMNETE FUNZIONANTE !

Prendete il file DATABASE-INC.ASP nella directory /includes/admin e subito prima dell' END SUB inserite questo codice:

If Request.QueryString("compatto") <> "" Then
CreateTopTable "OK", "DB Compattato !"
Response.Write "<b>Il Database " & Request.QueryString("compatto") & " è stato compattato correttamente !</b>" & vbCRLF
CreateBottomTable ""
End If

CreateTopTable "Compact", "Compatta " & GetTranslation("LANG_DATABASE")
Response.Write GLOBAL_SITE_SUBTABLE & vbCRLF
Response.Write " <tr class=""tableline1"">" & vbCRLF
Response.Write " <form name=""compact"" method=""post"" action=""compatta.asp"">" & vbCRLF
Response.Write " <td>" & GetTranslation("LANG_DATABASE") & " " & vbCRLF
Response.Write " <select name=""database"" class=""cell"">" & vbCRLF
Response.Write " <option value=""" & DB_MAIN & """ name=""database"">PRINCIPALE</option>" & vbCRLF
Response.Write " <option value=""" & DB_FORUM & """ name=""database"">FORUM</option>" & vbCRLF
Response.Write " </select>" & vbCRLF
Response.Write " </td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
Response.Write " <tr class=""tablelinemain"">" & vbCRLF
Response.Write " <td colspan=""2""><input name=""submit"" class=""button"" type=""submit"" value=""Compatta DB""></td>" & vbCRLF
Response.Write " </form>" & vbCRLF
Response.Write " </tr>" & vbCRLF
Response.Write "</table>" & vbCRLF
CreateBottomTable ""

Naturalmente se avte altri DB potete inserirli con una <option>, ad esempio se avte installato il mio MOD Mercatino, dovrete inserire:
Response.Write " <option value=""" & DB_MERCATINO & """ name=""database"">MERCATINO</option>" & vbCRLF

e così via per tutti gli altri DB installati !

Dopidichè create il file COMPATTA.ASP con all'interno questo codice:
<%
Dim sPassword, dbase, dbname, oDB, objFSO

sPassword = "VOSTRAPSW"
dbase = Request.Form("database")
dbname = Server.MapPath("../mdb-database/" & dbase &".mdb")

Set oDB = CreateObject("DAO.DBEngine.36")
oDB.CompactDatabase dbname, Server.MapPath("../mdb-database/" & dbase &"TEMP.mdb"), , , ";pwd=" & sPassword

Set oDB = Nothing

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

objFSO.DeleteFile(""&dbname&"")

objFSO.MoveFile Server.MapPath("../mdb-database/" & dbase &"TEMP.mdb"), dbname

Set objFSO = Nothing

Response.Redirect("/admin/database.asp?compatto="& dbase &"")
%>


Copiate il file COMPATTA.ASP nella directory /admin
ed il gioco è fatto !

Naturalmente se non avete protetto i DB con password allora togliete:


sPassword = "VOSTRAPSW"
pwd=" & sPassword


Testato e perfettamente funzionante !

ENJOY !!!
[feu] [feu] [feu] [feu] [feu]

P.S.: Dimenticavo, per eseguire la compattazione, entrate nel menù admin ed andate sotto la voce QUERY DATABASE, che io ho rinominato GESTIONE DB !
littlehawk

Eliminato
Eliminato
0 Discussione



Profilo - littlehawk
22 luglio 2003 alle 15:37:02 Profilo - littlehawkInvia un messaggio privato Rispondi quotando
UHEE ! 30 visite e nessuno che dà nemmeno un'opinione ?

:s :s :s :s :s :s :s :s :s
freepaolo

Avanzato
Avanzato
170 Discussioni



Profilo - freepaolo
22 luglio 2003 alle 18:54:42 Profilo - freepaoloInvia un messaggio privato Rispondi quotando
Forse sai quale è il motivo!!

Finora non ne ha funzionato nemmeno uno di questi pseudocompattatori e allora nessuno ha più intenzione (compreso me) di mettersi li a perdere del tempo.

Magari questo funziona, chi lo sa!! Io personalmente mi fido solo dell'ftp.

Cmq bravo ugualmente.

Ciaooo. [lo]
littlehawk

Eliminato
Eliminato
0 Discussione



Profilo - littlehawk
22 luglio 2003 alle 19:44:04 Profilo - littlehawkInvia un messaggio privato Rispondi quotando
Questo non solo funziona, ma funziona anche con DB prottetti da PSW !!!

Io nel mio sito ho 6 DB (tra originali e quelli aggiuntivi dei MOD !) tutti protetti da PSW e me li ha compattati tutti, il main addirittura con un bel 10% in meno...

Ripeto, se usate DB ACCESS, questa è la soluzione !

Funziona una meraviglia...
Anna

Responsabile Forum

Esperto
Esperto
1146 Discussioni



Profilo - Anna
22 luglio 2003 alle 19:58:32 Profilo - AnnaInvia un messaggio privato Rispondi quotando
ciao littlehawk,
domattina lo provo su aspnuke, se funge alla perfezione come dici lo mettiamo in download, credo sia un utility indispensabile per aspnuke!
[lo]
---------------
L’opera umana più bella è di essere utile al prossimo, senza che gli altri abbiano delle pretese (Sofocle)
littlehawk

Eliminato
Eliminato
0 Discussione



Profilo - littlehawk
22 luglio 2003 alle 21:30:41 Profilo - littlehawkInvia un messaggio privato Rispondi quotando
Anna ti confermo quanto scritto sopra: FUNZIONA PERFETTAMENTE !
[feu] [feu] [feu] [feu]

Testato e ritestato sui DB del mio sito (ovviamente prima per sicurezza li ho salvati !) che sono anche protetti da password.
Il DB_MAIN ma l'ha ridotto di un buon 10% !

Ovviamente i DB devono necessitare di compattazione altrimenti le dimensioni rimarranno le stesse ;) !!!

Ciao.

P.S.: ti ha detto nulla RAGGIO_DI_SOLE ?
littlehawk

Eliminato
Eliminato
0 Discussione



Profilo - littlehawk
24 luglio 2003 alle 18:50:55 Profilo - littlehawkInvia un messaggio privato Rispondi quotando
Sinceramente non capisco !!! Più di 80 hanno guardato questo post e nessuno che l'ha provato e ne dà nemmeno un'opinione ? [!?!] [!?!] [!?!] [!?!]

Boh ! Si vede che non è una cosa valida... :O :O :O
alextheforce

Amatore
Amatore
37 Discussioni



Profilo - alextheforce
24 luglio 2003 alle 23:52:06 Profilo - alextheforceInvia un messaggio privato Rispondi quotando
sarò un pò ingnorante ma a che serve compattare un database, per ridurre le dimensioni? Se è cosi che me ne faccio visto che ho spazio illimitato su aruba? Scusate l'ignoranza.
tonydamo

Eliminato
Eliminato
0 Discussione



Profilo - tonydamo
30 luglio 2003 alle 19:13:03 Profilo - tonydamoInvia un messaggio privato Rispondi quotando
Ciao Little, io l'ho provato, ma mi ha cancellato anche qualcosa dentro il database, e mi dava un'errore (non si vedevano più le pag. ERROR...ecc.), ho dovuto sovrascrivere i database con quelli che avevo salvato in precedenza.
Se volete fare una prova, salvatevi prima i database.
Ciao a tutti, Tony.
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
30 luglio 2003 alle 22:33:14 Profilo - emuInvia un messaggio privato Rispondi quotando
L'operazione di compattazione dei DB serve per eliminare i record cancellati (che altrimenti non vengono fisicamente cancellati, ma solo marcati come non validi). Questo aumenta certamente le prestazioni (le ricerche richiedono piu' tempo se devono esaminare record che poi scartano perche' non validi). Inoltre credo che la compattazione riordini i campi di tipo Memo, che, non avendo una dimensione definita, quando vengono modificati finiscono per "frammentarsi", come succede al disco fisso del PC.
Infine noterei che l'operazione viene definita in realta' come "compatta e ripara", quindi dovrebbe cercare di rendere consistenti i dati che per qualche motivo risultano errati.
Per le ragioni scritte sopra, e' evidente che la compattazione e' tanto piu' utile quanto piu' spesso viene modificato (con aggiunte e cancellazioni) il db, ma che puo' avere conseguenze pericolose (con perdita di dati) se riscontra degli errori (se non sa come correggere, temo che cancelli la fonte del problema).
E' quindi un'operazione indispensabile (ho visto guadagnare anche il 50% di spazio), che va pero' eseguita con la massima cautela.
Ciao
---------------
development@aspnuke.it
 1  2  >>

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 196
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 558 Notizie: 180 Sondaggi: 11 Preferiti: 5685130 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi