Dares:
En mis proyectos utilizo un submenu Backup y otro Restore,
lo que hace el primero es llamar a un SP llamado Backupy a otro SP Restore_Backup
CREATE PROCEDURE [Backup]
(@Ruta_1 [nvarchar](255))
AS
BACKUP DATABASE Turismo
TO DISK = @Ruta_1
WITH FORMAT,
NAME = 'Full Backup of Turismo'
GO
", en la cual le digo la ruta y el nombre del Archivo de backup.
El boton o submenu Backup es el siguiente:
Private Sub mnuBackup_Click()
Dim cmd As ADODB.Command
Dim ParamRuta As ADODB.Parameter
Set cmd = New ADODB.Command
Dim Ruta$
Ruta$ = ReadIni("Ubicacion", "Backup", IniConfig$) & _
"Turismo_" & Year(Date) & "-" & Month(Date) & "-" & Day(Date) '& ".dat"
Set ParamRuta = cmd.CreateParameter("Ruta_1", adVarChar, adParamInput, 255, Ruta$) '"Prueba")
cmd.Parameters.Append ParamRuta
With cmd
.ActiveConnection = Cnn
.CommandType = adCmdStoredProc
.CommandText = "dbo.Backup"
.Execute
End With
Set ParamRuta = Nothing
Set cmd = Nothing
End Sub
La ruta en lugar de dejarlo en el código, lo recupero de un archivo config.ini ubicado en forma local, para poder pasarselo al SP (procedimiento almacenado) que obviamente se encuentra en el servidor.
Con igual temperamento para el Restore
Private Sub mnuRestore_Click()
Dim cmd As ADODB.Command
Dim ParamRuta As ADODB.Parameter
Set cmd = New ADODB.Command
Dim CaminoRestore$
CaminoRestore = ReadIni("Ubicacion", "Backup", IniConfig$)
Set ParamRuta = cmd.CreateParameter("Ruta_1", adVarChar, adParamInput, 255, CaminoRestore$)
cmd.Parameters.Append ParamRuta
With cmd
.ActiveConnection = Cnn
.CommandType = adCmdStoredProc
.CommandText = "dbo.Restore_Backup"
.Execute
End With
Set ParamRuta = Nothing
Set cmd = Nothing
End Sub
El SP es
CREATE PROCEDURE [dbo].[Restore_Backup]
(@Ruta_1 [nvarchar](255))
AS
DROP DATABASE Turismo
RESTORE DATABASE Turismo
FROM DISK = @Ruta_1
GO
Saludos,
julioalbertogarciadeu@yahoo.com.ar Cita:
|
Empezado por dares_ Hola!
Quiero compactar (shrink) y hacer un backup de una base de datos en SQL 2000 desde Visual Basic 6
El tema es q cuando utilizaba Acces lo hacia de la siguiente manera, paso este ejemplo generico...
myJRO.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\mymdb\\sample.mdb;Jet OLEDB  atabase Password=YourPassword;", _
'"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\mymdb\\compactedSample.mdb;Jet OLEDB:Engine Type=5; Jet OLEDB  atabase Password=YourPassword;"
La pregunta es q tengo q modificar para q esto sirva o como lo puedo hacer en SQL 2000 ???
Gracias
Diego Ares :smt004 |