Foros del Web » Programando para Internet » ASP Clásico »

Compactar base de datos con asp

Estas en el tema de Compactar base de datos con asp en el foro de ASP Clásico en Foros del Web. hola amigos mi pregunta es la siguiente este codigo lo baje desde una pagina no me acuerdo cual y es para compatar la base de ...
  #1 (permalink)  
Antiguo 05/09/2005, 09:57
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años
Puntos: 0
Pregunta Compactar base de datos con asp

hola amigos mi pregunta es la siguiente este codigo lo baje desde una pagina no me acuerdo cual y es para compatar la base de datos y no me funciona me disen ke edita las dos lineas:

'# Edite las siguientes dos líneas
'# Defina el path de la base de datos. Si desea hacerlo completo, puede hacerlo
StrCarpeta = server.mappath("./db")

poer no se cuales son ni donde van me pueden ayudar porfavor ahy les dejo el codigo ...

<%
Const DriverConexion = "Provider=Microsoft.Jet.OLEDB.4.0; Data source="
Dim strDatabase, strFolder, strFileName
'#################################################
'# Edite las siguientes dos líneas
'# Defina el path de la base de datos. Si desea hacerlo completo, puede hacerlo
StrCarpeta = server.mappath("./db")
'################################################# #

'Compacta la base de datos
Private Sub dbCompact(StrBaseDeDatos)
if right(StrCarpeta,1) <> "\" then StrCarpeta = StrCarpeta & "\"
Dim SourceConn, DestConn, oJetEngine, oFSO
SourceConn = DriverConexion & StrCarpeta & StrBaseDeDatos
DestConn = DriverConexion & StrCarpeta & "Temp" & StrBaseDeDatos
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
Set oJetEngine = Server.CreateObject("JRO.JetEngine")

If Not oFSO.FileExists(StrCarpeta & StrBaseDeDatos) Then
Response.Write ("Base no encontrada: " & StrCarpeta & StrBaseDeDatos)
else
If oFSO.FileExists(StrCarpeta & "Temp" & StrBaseDeDatos) Then
Response.Write ("Error. Intente Nuevamente.")
oFSO.DeleteFile (StrCarpeta & "Temp" & StrBaseDeDatos)
else
oJetEngine.CompactDatabase SourceConn, DestConn
oFSO.DeleteFile StrCarpeta & StrBaseDeDatos
oFSO.MoveFile StrCarpeta & "Temp"& StrBaseDeDatos, StrCarpeta& StrBaseDeDatos
Response.Write ("* La base de datos <B'>" & Request.form("DBFileName") & "</B'> fue compactada con exito.")
End If
End If

Set oFSO = Nothing
Set oJetEngine = Nothing
End Sub

'Pinta la lista de bases en ese directorio
Private Sub dbList
Dim oFolders, i
i = 0
Set oFolders = Server.CreateObject("Scripting.FileSystemObject")
Response.Write ("<SELECT name='DBFileName''>")
For Each Item In oFolders.GetFolder(StrCarpeta).Files
If LCase(Right(Item, 4)) = ".mdb" Then
'corrijo el path, y saco la "\"
item = Replace(lcase(Item), lcase(StrCarpeta), "")
item = Replace(Item, "\", "")
Response.Write ("<OPTION value='" & item &"'>" & item & "</OPTION'>")
i = i+1
End If
Next
Response.Write ("</SELECT'>")
Response.Write ("<BR'><BR'>En la carpeta <b'>"& StrCarpeta &"</b'> hay <b'>"& i &"</b'> bases de datos Access.")
Set oFolders = Nothing
End Sub

Select Case Request.form("compactar")
Case "Compactar"
dbCompact Request.form("DBFileName")
End Select
%>

<p align="center"><b>Seleccionar la base para compactar de la lista</b>
<form method="POST" action="" id=form1 name=form1>
<%dbList%><BR><BR>
<input type="submit" value="Compactar" name="compactar">
</form></p>




gracias antemano


gracias...
  #2 (permalink)  
Antiguo 05/09/2005, 11:02
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
ese codigo esta en soloasp.com.ar y la linea que tienes que modificar es la siguiente:

StrCarpeta = server.mappath("./db")

y en vex de ./db ponerle la ruta de la base a compactar... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 05/09/2005, 11:39
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
te funciono? da algun error?
  #4 (permalink)  
Antiguo 05/09/2005, 11:51
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años
Puntos: 0
no amigos no me compacta no se ke pasa me pueden decir ke es no me sale error ta´poco solo me sale ..

desde una lista desplegable

seleccionar una base de datos para compactar pero no me da la opcion de escojer ninguna base de datos...


asi tengo el codigo

<%
Const DriverConexion = "Provider=Microsoft.Jet.OLEDB.4.0; Data source="
Dim strDatabase, strFolder, strFileName
'#################################################
'# Edite las siguientes dos líneas
'# Defina el path de la base de datos. Si desea hacerlo completo, puede hacerlo
StrCarpeta = server.mappath("Marketing.mdb")
'################################################# #

'Compacta la base de datos
Private Sub dbCompact(StrBaseDeDatos)
if right(StrCarpeta,1) <> "\" then StrCarpeta = StrCarpeta & "\"
Dim SourceConn, DestConn, oJetEngine, oFSO
SourceConn = DriverConexion & StrCarpeta & StrBaseDeDatos
DestConn = DriverConexion & StrCarpeta & "Temp" & StrBaseDeDatos
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
Set oJetEngine = Server.CreateObject("JRO.JetEngine")

If Not oFSO.FileExists(StrCarpeta & StrBaseDeDatos) Then
Response.Write ("Base no encontrada: " & StrCarpeta & StrBaseDeDatos)
else
If oFSO.FileExists(StrCarpeta & "Temp" & StrBaseDeDatos) Then
Response.Write ("Error. Intente Nuevamente.")
oFSO.DeleteFile (StrCarpeta & "Temp" & StrBaseDeDatos)
else
oJetEngine.CompactDatabase SourceConn, DestConn
oFSO.DeleteFile StrCarpeta & StrBaseDeDatos
oFSO.MoveFile StrCarpeta & "Temp"& StrBaseDeDatos, StrCarpeta& StrBaseDeDatos
Response.Write ("* La base de datos <B'>" & Request.form("DBFileName") & "</B'> fue compactada con exito.")
End If
End If

Set oFSO = Nothing
Set oJetEngine = Nothing
End Sub

'Pinta la lista de bases en ese directorio
Private Sub dbList
Dim oFolders, i
i = 0
Set oFolders = Server.CreateObject("Scripting.FileSystemObject")
Response.Write ("<SELECT name='DBFileName''>")
For Each Item In oFolders.GetFolder(StrCarpeta).Files
If LCase(Right(Item, 4)) = ".mdb" Then
'corrijo el path, y saco la "\"
item = Replace(lcase(Item), lcase(StrCarpeta), "")
item = Replace(Item, "\", "")
Response.Write ("<OPTION value='" & item &"'>" & item & "</OPTION'>")
i = i+1
End If
Next
Response.Write ("</SELECT'>")
Response.Write ("<BR'><BR'>En la carpeta <b'>"& StrCarpeta &"</b'> hay <b'>"& i &"</b'> bases de datos Access.")
Set oFolders = Nothing
End Sub

Select Case Request.form("compactar")
Case "Compactar"
dbCompact Request.form("DBFileName")
End Select
%>

<p align="center"><b>Seleccionar la base para compactar de la lista</b>
<form method="POST" action="" id=form1 name=form1>
<%dbList%><BR><BR>
<input type="submit" value="Compactar" name="compactar">
</form></p>
  #5 (permalink)  
Antiguo 05/09/2005, 11:55
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
mmm la verdad es que ahi me pillaste... no sabria decirte el error voy a investigar un poco mas del tema aver si lo logro solucionar y te comento... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #6 (permalink)  
Antiguo 05/09/2005, 12:03
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
por lo que pude ver te falta declarar algunos parametros

'# Defina el path completo de la base de datos
strCarpeta= "C:\Inetpub\wwwroot\hermes\hermes_db\"
'# Ponga el nombre de la Base de datos
strBaseDeDatos = "prueba2.mdb"

Logicamente que las lineas en negritas las tienes que adaptar a tus requerimientos. Prueba asi y comentas
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #7 (permalink)  
Antiguo 05/09/2005, 13:50
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años
Puntos: 0
no amigos no me da por ningun lado lo hise colocando toda la direccion de la base de datos ose asi C:\Mis documentos\Edison\Marketing/marketing.mdb y nada ke me funciono creo ke el error estaen este codigo pero no se endonde no se mucho aun de asp...

<%
Const DriverConexion = "Provider=Microsoft.Jet.OLEDB.4.0; Data source="
Dim strDatabase, strFolder, strFileName
StrCarpeta = server.mappath("Marketing.mdb")


'Compacta la base de datos
Private Sub dbCompact(StrBaseDeDatos)
if right(StrCarpeta,1) <> "\" then StrCarpeta = StrCarpeta & "\"
Dim SourceConn, DestConn, oJetEngine, oFSO
SourceConn = DriverConexion & StrCarpeta & StrBaseDeDatos
DestConn = DriverConexion & StrCarpeta & "Temp" & StrBaseDeDatos
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
Set oJetEngine = Server.CreateObject("JRO.JetEngine")


debe de faltar algo como definir esas lineas pero no se en donde

strDatabase, strFolder, strFileName

..........
  #8 (permalink)  
Antiguo 05/09/2005, 14:25
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
la base de datos esta en el mismo directorio que el archivo asp?
  #9 (permalink)  
Antiguo 05/09/2005, 14:52
Avatar de mrjhon  
Fecha de Ingreso: junio-2005
Mensajes: 155
Antigüedad: 19 años
Puntos: 0
si estan en este caso en la raiz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:41.