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

Compactar y reparar BD en linea

Estas en el tema de Compactar y reparar BD en linea en el foro de ASP Clásico en Foros del Web. Bueno, tengo el siguiente codigo para compactar una base de datos ACCESS, lo curioso es que me funciona perfectamente en local con PWS pero en ...
  #1 (permalink)  
Antiguo 16/02/2005, 18:41
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Compactar y reparar BD en linea

Bueno, tengo el siguiente codigo para compactar una base de datos ACCESS, lo curioso es que me funciona perfectamente en local con PWS pero en el servidor no jala:
Código:
<%
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("../")
'##################################################

'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 ("<FONT SIZE=4>* La base de datos <B'>" & Request.form("DBFileName") & "</B'> fue compactada con exito.</FONT>")
	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
%>
		</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif">
		<p align="center"><font color="#000099"><b>Seleccionar la base para compactar 
		  de la lista</b> </font></font></font></font> 
		<form method="POST" action="" id=form1 name=form1>
		  <font color="#000099" size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
		  <%dbList%>
		  <br>
		  <br>
		  <input type="submit" value="Compactar" name="compactar">
		  </font> 
		</form>
		<p></p>
		<font color="#000099" size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
		<a href="sistema.asp?pan=9">REGRESAR</a> </font>
Tambien tengo uno que crea un respaldo de la misma base de datos y es igual, en local jala pero en servidor no

El error que me marca es este:
Error de Microsoft VBScript en tiempo de ejecución error '800a0046'

Permiso denegado

/portagigas/panel/compactar.asp, line 37


donde la linea 37 es:
oFSO.DeleteFile StrCarpeta & StrBaseDeDatos


es decir, si me crea la base de datos lo que no me deja es borrarla


help me
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO
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 21:39.