% '============================================================== ' TableEditoR 0.81 Beta ' http://www.2enetworx.com/dev/projects/tableeditor.asp '-------------------------------------------------------------- ' File: te_compactall.asp ' Description: Bulk Compact databases ' Initiated By ? on ? '-------------------------------------------------------------- ' Copyright (c) 2002, 2eNetWorX/dev. ' ' TableEditoR is distributed with General Public License. ' Any derivatives of this software must remain OpenSource and ' must be distributed at no charge. ' (See license.txt for additional information) ' ' See Credits.txt for the list of contributors. ' ' Change Log: '-------------------------------------------------------------- ' # May 21, 2002 by Rami Kattan ' Fixes few bugs, when filename has ; for password ' # May 30, 2002 by Rami Kattan ' Backup now makes a copy of the original file itself, not ' a compacted version '============================================================== bOnlyBackup = (request.querystring("onlybackup") = "true") %> <% if bAdmin = False then response.write "Not authorized to view this page." %><% response.end end if if not bBulkCompact then %>
| Home » Connections » <% if bOnlyBackup then response.write "Backup" else response.write "Compact" %> Databases | <% if bProtected then response.write session("teFullName") response.write " (logout)" end if %> |
<%
dim lConnID
sub ShowForm
%>
<% If not bOnlyBackup Then %>
All Access Databases will be compacted.
After compacting, the original files will be renamed to ".(date/time).bak" extension as a backup.
During the compact process, ".temp.mdb" files will be created, and after the compact is successful, they will be deleted.
Compacting may take some time depending on your databases
sizes. The changes made to the database during the compacting
will not be saved.
<% Else %>
All Access Databases will be backed-up.
The backup files will have the name with ".(date/time).bak" extension as a backup.
Backing up may take some time depending on your databases sizes. The changes made to the database during the backup will not be saved.
<% End If %>
<% If not bOnlyBackup Then %> Are you sure that you want to compact all databases? <% Else %> Are you sure that you want to backup all databases? <% End If %>
Yes ">No <% end sub if request("sure")<>"" then %>Please wait, compacting loaded connections...
<% For lConnID = 1 to iTotalConnections if arrType(lConnID) = tedbAccess Then Compact lConnID end if Next Response.Write "
Complete" else ShowForm end if Sub RenameFile(sFrom, sTo) Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") sDateTimeStamp = "." & year(now) & LeadingZero(month(now),2) & LeadingZero(day(now),2) & "-" & LeadingZero(hour(now),2) & LeadingZero(minute(now),2) & LeadingZero(second(now),2) ShortFileName = arrDBs(lConnID) sFileFromParts = split(ShortFileName, ";") ShortFileName = sFileFromParts(0) If not bOnlyBackup Then fso.MoveFile sTo, left(Server.MapPath(ShortFileName), InStr(Server.MapPath(ShortFileName), ".mdb")-1) & sDateTimeStamp & ".bak" fso.MoveFile sFrom, sTo Else fso.CopyFile sTo, sTo & sDateTimeStamp & ".bak" End If End Sub Sub Compact(lConnID) ShortFileName = arrDBs(lConnID) sFileFromParts = split(ShortFileName, ";") ShortFileName = sFileFromParts(0) If not bOnlyBackup Then response.write "
Compacting '" & arrDesc(lConnID) & "'..." else response.write "
Backing up '" & arrDesc(lConnID) & "'..."
end if
sFileFrom = Server.MapPath(ShortFileName)
sFileTo = left(sFileFrom, InStr(sFileFrom, ".mdb")-1) & ".temp.mdb"
If not bOnlyBackup Then
sConnFrom = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sFileFrom
sConnTo = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sFileTo
set jro = server.createobject("jro.JetEngine")
jro.CompactDatabase sConnFrom, sConnTo
if err <> 0 then
bError = True
response.write "Error Compacting Database:
" & err.description
end if
err.clear
end if
RenameFile sFileTo, sFileFrom
if err <> 0 then
bError = True
response.write "Error Renaming Tempory File:
" & err.description
end if
if not bError then
If not bOnlyBackup Then
response.write "
Compacting successful."
else
response.write "
Backing up successful."
end if
else
response.write "
Errors occured."
end if
response.write "