Visual Basic - URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DATOS

Life is soft - evento anual de software empresarial
 
Vista:

URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DATOS

Publicado por Federico (2 intervenciones) el 25/11/2004 22:22:20
NECESITO LAS LINEAS DE CODIGO QUE ME INDIQUEN COMO PODER REALIZAR UN BACKUP DESDE UN FORMULARIO PARA UNA BASE DE DATOS DE ACCES, Y COMO HAGO LUEGO PARA PODER RECUPERAR Y LEVANTAR LA BASE DE DATOS DESDE ESE BACKUP.
MUCHAS GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DA

Publicado por Pedro Luis (878 intervenciones) el 26/11/2004 11:27:46
Te he rescatado un codigo antiguo, ya que hoy en dia es raro encontrar una base de datos que coja en un disquete.
Te hará falta un form llamado Mensajes para mostrar el mensaje bus

Private Sub mCopiar_Click()
On Error GoTo Errores
Bus = "Copiando la Base de Datos " & Mid(Fichero, 1, 8)
Mensajes.Show
MousePointer = 11
Mensajes.Refresh
Origen = App.path + "\" + Fichero
Destino = "a:" + Fichero
FileCopy Origen, Destino
Beep
Unload Mensajes
MsgBox "Copia finalizada, retira el Disquete"
Refresh
MousePointer = 0

Exit Sub

Private Sub mRestaurar_Click()
Dim mensaje As String, prg As String
On Error GoTo Errores
Origen = "a:" + Fichero

mensaje = "Fichero a Restaurar : " & Mid(Fichero, 1, 8) & Chr(10) & Chr(13) _
& "Fecha de la copia : " & Format(FileDateTime(Origen), "dddddd") & Chr(10) & Chr(13) _
& "Hora de la copia : " & Format(FileDateTime(Origen), "ttttt")
prg = MsgBox(mensaje, 1)
If prg = 2 Then Exit Sub
Bus = "Restaurando la Base de Datos ..."
Mensajes.Show
MousePointer = 11
Mensajes.Refresh
Destino = App.path + "\" + Fichero
FileCopy Origen, Destino
Unload Mensajes
Beep
MsgBox "Restauración terminada, retira el disquete"
Refresh
MousePointer = 0
Exit Sub
Errores:
If ErrorDisco = 0 Then Resume
Unload Mensajes
MousePointer = 0
Refresh
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DA

Publicado por fernando (79 intervenciones) el 26/11/2004 16:12:46
Hola, yo lo hago así:
en un formulario donde muestro directorios para q elija dónde hacer el backup:
(gbase es el nombre de la base de datos, y gpath el path de la aplicación, además en este caso hago una copia en un servidor y otra en el disco local)
Si te sirve y lo ves muy complicado, escribime al mail. Saludos!
sub aceptar_click()
Dim fs, f, s
Dim pa As String
pa = Dir1.Path
If quien = 0 Then \' hacer backup
Set fs = CreateObject(\"Scripting.FileSystemObject\")
If UCase(Dir1.Path + \"\\\") = UCase(gpath) Then
MsgBox \"Elija otra carpeta\", vbInformation
Exit Sub
End If
Set f = fs.GetFile(gpath + gbase)
f.Copy Dir1.Path + \"\\\" + gbase, True
\'guardar una copia en C:
\'ver si es el servidor creo q no tiene el \":\", sino \"\\\\\"
i = InStr(1, pa, \"\\\\\")
If i <> 0 Then
pa = Right(pa, Len(pa) - i - 1)
pa = \"C:\\\" + pa
If Dir(pa, vbDirectory) = \"\" Then \'tengo q crear el directorio en C:
MkDir pa
End If
sigue en la resp siguiente porq no me deja enviar todo junto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DA

Publicado por fernando (79 intervenciones) el 26/11/2004 16:13:36
(viene del msj anterior)
Set fs = CreateObject(\"Scripting.FileSystemObject\")
Set f = fs.GetFile(gpath + gbase)
f.Copy pa + \"\\\" + gbase, True
MsgBox \"El bakcup fue realizado con éxito (también se guardó una copia en C:)\", 48
Else \' i = 0 -- lo hizo en una unidad local
MsgBox \"El bakcup fue realizado con éxito\", 48
End If
Else 'quien = 1, hacer restauracion
If ch_agen.Value = False And ch_escr.Value = False Then
MsgBox "Debe seleccionar qué desea restaurar", 16
ch_escr.SetFocus
Exit Sub
End If
Dim ff As Form
For Each ff In Forms
If TypeOf ff Is Form Then
If Not TypeOf ff Is MDIForm Then
Unload ff
End If
End If
Next ff
gdbase.Close
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(pa + "\" + gbase)
f.Copy gpath + gbase, True
MsgBox "El sistema fue restaurado con éxito", 48
Main
End If
Unload Me
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DA

Publicado por Luis Atondo (28 intervenciones) el 26/11/2004 18:48:21
'Puedes utilizar esta funcion que ademas de respaldar te compacta la bd

DBEngine.CompactDatabase "BasedeDatos.mdb", "Respaldo.mdb"

'Echandole un poco de imaginacion y trabajo te aseguras que el respaldo sea eficiente...con preguntas y mensajes de...BD ya respaldada o bd esta en uso, etc...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DA

Publicado por ricardo (33 intervenciones) el 26/11/2004 20:54:06
escribeme un correo y te envio un ejemplo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: COMO HACER UN BACKUP DE UNA BASE DE DA

Publicado por Javier--- (1 intervención) el 30/11/2004 06:02:16
hola amigo mira navegando encontre este foro soy una persona que tiene problemas para hacer un backup de una base de datos echa en sql server7.0.......... a baes de codigo generado en visual basic no se si tu me podrias dar un ejemplo de esto para poder terminar my aplicacion seria de gran ayuda disculpa el mensaje y bueno nada mas por ahora
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar