Guardada en ASP, publicada en - Página vista 3781 veces
Siempre he tenido ganas de explicar como compactar una base de datos en Access desde ASP, es uno de los trucos que más utilidad le dí en mis inicios con la programación.
Claro está que ya nunca uso bases de datos Access para mis proyectos, pero puede que para alguno pequeño aún haga falta, el código es un poco extenso y difícil de comprender si no tienes mucha experiencia pero verás que con un poco de calma, todo sale:
<%
Const Jet_Conn_Partial = "Provider=Microsoft.Jet.OLEDB.4.0; Data source="
Dim strDatabase, strFolder, strFileName
'#################################################
'# Edite las siguientes dos líneas
'# Defina el path completo de la base de datos
strFolder = "C:Inetpubwwwroothermeshermes_db"
'# Ponga el nombre de la Base de datos
strDatabase = "prueba2.mdb"
'# No hay mas que editar
'##################################################
Private Sub dbCompact(strDBFileName)
Dim SourceConn
Dim DestConn
Dim oJetEngine
Dim oFSO
SourceConn = Jet_Conn_Partial & strFolder & strDatabase
DestConn = Jet_Conn_Partial & strFolder & "Temp" & strDatabase
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
Set oJetEngine = Server.CreateObject("JRO.JetEngine")
With oFSO
If Not .FileExists(strFolder & strDatabase) Then
Response.Write ("No encontrada: " & strFolder & strDatabase)
Stop
Else
If .FileExists(strFolder & "Temp" & strDatabase) Then
Response.Write ("Algo malo paso la ultima vez " _
& "Borrando la base de datos vieja... Por favor intenete de nuevo")
.DeleteFile (strFolder & "Temp" & strDatabase)
End If
End If
End With
With oJetEngine
.CompactDatabase SourceConn, DestConn
End With
oFSO.DeleteFile strFolder & strDatabase
oFSO.MoveFile strFolder & "Temp" _
& strDatabase, strFolder& strDatabase
Set oFSO = Nothing
Set oJetEngine = Nothing
End Sub
Private Sub dbList()
Dim oFolders
Set oFolders = Server.CreateObject("Scripting.FileSystemObject")
Response.Write ("")
Set oFolders = Nothing
End Sub
%>
<%
' Compacta la base de datos y le dice al usuario que la base de datos ha sido optimizada
Select Case Request.form("cmd")
Case "Compactar"
dbCompact Request.form("DBFileName")
Response.Write ("Database " & Request.form("DBFileName") & " ha sido Optimizada.")
End Select
%>
Compactar y reparar una base de datos
Si quieres que te ayudemos en algo o simplemente comentar alguna parte del código, puedes hacerlo dejando un comentario.
Publicado por Labelgrup
Creador de páginas web, con experiencia en diferentes campos en el mundo del desarrollo web.