FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Respaldo de base de datos mariadb desde fivewin
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Respaldo de base de datos mariadb desde fivewin
Posted: Mon Sep 27, 2021 02:57 AM

Saludos a todos amigos.

Uso FW17.01 mariaDB localmente, tdolphin y xHarbour.

Habra alguna manera de que pueda colocar una opcion "Respaldo" en el menu de mi aplicacion fivewin y que me pase la BD completa a formato .sql, y luego a .zip o cualquier otra herramienta de compresi贸n con clave si es posible?

De alli lo enviaria a un correo o una carpeta en mi servidor web.

Espero que no sea mucho pedir.

"Los errores en programaci贸n, siempre est谩n entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Mon Sep 27, 2021 01:37 PM
Amigo buenos d铆as como estas?

Lo que no se, es si sea compatible con fw 17.01.

Code (fw): Select all Collapse
*********************************
//REALIZA LA COPIA DE SEGURIDAD
*********************************
Function copiaseguridad()
local oCn
Local cRutaSql := ".\copias\"
Local cNombSql := 聽 alltrim(oLamcla:vGnit) + "_" + DTOS(DATE()) + "_" + SUBSTR(TIME(),1,2) +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 SUBSTR(TIME(),4,2) + SUBSTR(TIME(),7,2) + ".Sql"
Local cRutFina := cRutaSql+cNombSql
Local documento := {=>}
Local cbCopia := <||
聽 聽 聽 聽 
聽 聽 聽 聽 //ACTUALIZAMOS LA FECHA DE LA ULTIMA COPIA EN LA BASE DE DATOS
聽 聽 聽 聽 oSlq:= TCad():New(oLamcla:tEmpr,oCnEmp)
聽 聽 聽 聽 oSlq:Campos("e_ultima_copia",dtos(date()))
聽 聽 聽 聽 oSlq:Condicion("e_codi",oLamcla:vGcod,"")
聽 聽 聽 聽 oSlq:Actualiza()
聽 聽 聽 聽 oSlq:=nil聽 聽
聽 聽 聽 聽 
聽 聽 聽 聽 //LEEMOS EL ARCHIVO PLANO PARA ENVIARLO AL SERVIDOR
聽 聽 聽 聽 cText := MemoRead( cRutFina )

聽 聽 聽 聽 //ENVIAMOS LA COPIA DE SEGURIDAD AL SERVIDOR 
聽 聽 聽 聽 tercero := alltrim(oLamcla:vGnit)
聽 聽 聽 聽 pass := "ClavedelWS" 聽 //TEMPORAL
聽 聽 聽 聽 cBas64 := hb_base64encode(tercero+":"+pass,len(tercero+":"+pass))

聽 聽 聽 聽 //DATOS PARA REGISTRO EN LA BASE DE DATOS
聽 聽 聽 聽 documento["tercero"] := tercero
聽 聽 聽 聽 documento["nombre_sql"] := cNombSql
聽 聽 聽 聽 documento["sql"] := cText
聽 聽 聽 聽 documento["sucursal"] := oLamcla:nEmpSucu
聽 聽 聽 聽 enviar := hb_jsonEncode( documento )

聽 聽 聽 聽 ohttp := CreateObject( "MSXML2.XMLHTTP" )
聽 聽 聽 聽 ohttp:Open( "POST" ,"http://tuhosting/tuwebservice",.F.)聽 聽 
聽 聽 聽 聽 oHttp:SetRequestHeader("cache-control", "no-cache")
聽 聽 聽 聽 ohttp:SetRequestHeader("content-type", "application/json" )
聽 聽 聽 聽 ohttp:SetRequestHeader("authorization", "Basic "+cBas64 )
聽 聽 聽 聽 TRY
聽 聽 聽 聽 聽 ohttp:Send( enviar )
聽 聽 聽 聽 CATCH
聽 聽 聽 聽 聽 聽 msginfo("No Se Pudo Enviar Archivo ","Intente Nuevamente")
聽 聽 聽 聽 聽 聽 return .t.
聽 聽 聽 聽 END
聽 聽 聽 聽 response:=ohttp:responseText

聽 聽 聽 聽 aHasRes := hash()
聽 聽 聽 聽 hb_jsondecode(response ,@aHasRes)

聽 聽 聽 聽 if aHasRes["copia_confirma"]
聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 //ACTUALIZAMOS LA FECHA DE LA ULTIMA COPIA EN LA BASE DE DATOS
聽 聽 聽 聽 聽 聽 oSlq:= TCad():New(oLamcla:tEmpr,oCnEmp)
聽 聽 聽 聽 聽 聽 oSlq:Campos("e_ultima_nube",dtos(date()))
聽 聽 聽 聽 聽 聽 oSlq:Condicion("e_codi",oLamcla:vGcod,"")
聽 聽 聽 聽 聽 聽 oSlq:Actualiza()
聽 聽 聽 聽 聽 聽 oSlq:=nil聽 聽聽 聽 聽 聽 
聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 MsgInfo("Proceso Completado Correctamente - Archivo Guardado "+cRutFina,"Confirma")
聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 MsgInfo("Proceso NO pudo ser completado ","Error Datos")
聽 聽 聽 聽 endif

聽 聽 >

oCn := maria_Connect( alltrim(oLamcla:cHost),alltrim(oLamcla:cEmpDBda),alltrim(oLamcla:cUsuario),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 alltrim(oLamcla:cPassword) ) 
if oCn == nil
聽 聽 msginfo(聽 聽 "No se pudo comprobar la conexi贸n con la base de datos"+CRLF+;
聽 聽 聽 聽 聽 聽 "Por favor revise la ip en la configuraci贸n de la conexi贸n","Error Conexi贸n")
else
聽 聽 MYSQL_CRYPTKEY( alltrim(oLamcla:cPassword) )
聽 聽 oCn:BackUp( nil , cRutFina )
聽 聽 MYSQL_CRYPTKEY( nil ) 
聽 聽 oCn:close()
聽 聽 
聽 聽 MsgRun("Procesando Informaci贸n...","Creando Archivo",{||CursorWait(),WaitRun(eval(cbCopia), 0 )})
聽 聽 
endif
Return nil
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Mon Sep 27, 2021 02:27 PM
leandro wrote:Amigo buenos d铆as como estas?

Lo que no se, es si sea compatible con fw 17.01.

Code (fw): Select all Collapse
*********************************
//REALIZA LA COPIA DE SEGURIDAD
*********************************
Function copiaseguridad()
local oCn
Local cRutaSql := ".\copias\"
Local cNombSql := 聽 alltrim(oLamcla:vGnit) + "_" + DTOS(DATE()) + "_" + SUBSTR(TIME(),1,2) +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 SUBSTR(TIME(),4,2) + SUBSTR(TIME(),7,2) + ".Sql"
Local cRutFina := cRutaSql+cNombSql
Local documento := {=>}
Local cbCopia := <||
聽 聽 聽 聽 
聽 聽 聽 聽 //ACTUALIZAMOS LA FECHA DE LA ULTIMA COPIA EN LA BASE DE DATOS
聽 聽 聽 聽 oSlq:= TCad():New(oLamcla:tEmpr,oCnEmp)
聽 聽 聽 聽 oSlq:Campos("e_ultima_copia",dtos(date()))
聽 聽 聽 聽 oSlq:Condicion("e_codi",oLamcla:vGcod,"")
聽 聽 聽 聽 oSlq:Actualiza()
聽 聽 聽 聽 oSlq:=nil聽 聽
聽 聽 聽 聽 
聽 聽 聽 聽 //LEEMOS EL ARCHIVO PLANO PARA ENVIARLO AL SERVIDOR
聽 聽 聽 聽 cText := MemoRead( cRutFina )

聽 聽 聽 聽 //ENVIAMOS LA COPIA DE SEGURIDAD AL SERVIDOR 
聽 聽 聽 聽 tercero := alltrim(oLamcla:vGnit)
聽 聽 聽 聽 pass := "ClavedelWS" 聽 //TEMPORAL
聽 聽 聽 聽 cBas64 := hb_base64encode(tercero+":"+pass,len(tercero+":"+pass))

聽 聽 聽 聽 //DATOS PARA REGISTRO EN LA BASE DE DATOS
聽 聽 聽 聽 documento["tercero"] := tercero
聽 聽 聽 聽 documento["nombre_sql"] := cNombSql
聽 聽 聽 聽 documento["sql"] := cText
聽 聽 聽 聽 documento["sucursal"] := oLamcla:nEmpSucu
聽 聽 聽 聽 enviar := hb_jsonEncode( documento )

聽 聽 聽 聽 ohttp := CreateObject( "MSXML2.XMLHTTP" )
聽 聽 聽 聽 ohttp:Open( "POST" ,"http://tuhosting/tuwebservice",.F.)聽 聽 
聽 聽 聽 聽 oHttp:SetRequestHeader("cache-control", "no-cache")
聽 聽 聽 聽 ohttp:SetRequestHeader("content-type", "application/json" )
聽 聽 聽 聽 ohttp:SetRequestHeader("authorization", "Basic "+cBas64 )
聽 聽 聽 聽 TRY
聽 聽 聽 聽 聽 ohttp:Send( enviar )
聽 聽 聽 聽 CATCH
聽 聽 聽 聽 聽 聽 msginfo("No Se Pudo Enviar Archivo ","Intente Nuevamente")
聽 聽 聽 聽 聽 聽 return .t.
聽 聽 聽 聽 END
聽 聽 聽 聽 response:=ohttp:responseText

聽 聽 聽 聽 aHasRes := hash()
聽 聽 聽 聽 hb_jsondecode(response ,@aHasRes)

聽 聽 聽 聽 if aHasRes["copia_confirma"]
聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 //ACTUALIZAMOS LA FECHA DE LA ULTIMA COPIA EN LA BASE DE DATOS
聽 聽 聽 聽 聽 聽 oSlq:= TCad():New(oLamcla:tEmpr,oCnEmp)
聽 聽 聽 聽 聽 聽 oSlq:Campos("e_ultima_nube",dtos(date()))
聽 聽 聽 聽 聽 聽 oSlq:Condicion("e_codi",oLamcla:vGcod,"")
聽 聽 聽 聽 聽 聽 oSlq:Actualiza()
聽 聽 聽 聽 聽 聽 oSlq:=nil聽 聽聽 聽 聽 聽 
聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 MsgInfo("Proceso Completado Correctamente - Archivo Guardado "+cRutFina,"Confirma")
聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽 MsgInfo("Proceso NO pudo ser completado ","Error Datos")
聽 聽 聽 聽 endif

聽 聽 >

oCn := maria_Connect( alltrim(oLamcla:cHost),alltrim(oLamcla:cEmpDBda),alltrim(oLamcla:cUsuario),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 alltrim(oLamcla:cPassword) ) 
if oCn == nil
聽 聽 msginfo(聽 聽 "No se pudo comprobar la conexi贸n con la base de datos"+CRLF+;
聽 聽 聽 聽 聽 聽 "Por favor revise la ip en la configuraci贸n de la conexi贸n","Error Conexi贸n")
else
聽 聽 MYSQL_CRYPTKEY( alltrim(oLamcla:cPassword) )
聽 聽 oCn:BackUp( nil , cRutFina )
聽 聽 MYSQL_CRYPTKEY( nil ) 
聽 聽 oCn:close()
聽 聽 
聽 聽 MsgRun("Procesando Informaci贸n...","Creando Archivo",{||CursorWait(),WaitRun(eval(cbCopia), 0 )})
聽 聽 
endif
Return nil


Leandro muchos saludos. Buenos dias.

Muchas gracias , voy a probar tu codigo y te comento.
"Los errores en programaci贸n, siempre est谩n entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Fri Oct 01, 2021 08:44 PM
Leandro, saludos

Estuve detallando tu codigo, pero de verdad que no tengo los conocimientos para entenderlo ya que no soy nada bueno usando objetos. aparte de que me estarian faltando algunas funciones y una clase que esta alli.

Me sent茅 con calma a hacerlo y logre un PRG con el FW basico + dos comandos MSDOS + la herramienta MYSQLDUMP.

Hice un modulo que ejecuta el respaldo en formato .SQL, lo comprime en .ZIP y lo envia a un correo GMAIL. (puede ser cualquier otro)

Por ahora me funciona my bien, solo con la limitante que si el tama帽o del archivo .ZIP llegara a sobrepasar los 25mb de capacidad de adjunto que soporta gmail, el usuario debe sacarlo el mismo a un medio externo de almacenamiento.

Pienso hacer la funcion de que cuando esto suceda, el mismo programa lo detecte y lo suba al servidor. pero como por ahora con esto me basta, hare lo de la subida mas adelante.

El codigo de esta funcion que hice esta disponible para quien pueda estar interesado, y si pueden mejorarlo pues, se agradece hacerlo y compartirlo. Como les comente, no soy programador experto.


Ac谩 les dejo un video para que puedan ver como funciona.

http://www.datanet.space/fw/backup.mp4

Gracias nuevamente a ti y a todos los amigos del foro, siempre prestos a ayudar.
jalvarez@neurosistema.online
"Los errores en programaci贸n, siempre est谩n entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Sat Apr 02, 2022 10:23 PM

Hola Jos茅, estoy haciendo una herramienta para crear backups en sql, utilizo para ello mysqldump. Funciona bien pero me gustar铆a que no salga la pantalla msdos cuando se ejecuta, Veo en tu video que lo resolviste. Que funci贸n utilizas para ejecura mysqldump en modo silencioso?. Desde ya muchas gracias

Saludos

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Sun Apr 03, 2022 04:08 AM
FWH native SQL BackUp and Restore are one of the best backup facilities available, even compared to sqldump or hidisql, etc.

Simple to use:
Code (fw): Select all Collapse
oCn:BackUp( [aTables], [cfile/folder], [bProgress],... )
oCn:Restore( cBackupFile )


Most simple to use and at the same time, highly feature rich and efficient.
Compatible with 1701.
We recommend you to save your time and effort and use one of the best backup/restore utility you already have in our own library.
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Sun Apr 03, 2022 05:13 PM

Mr. Rao:

Excelent !, do you have a small sample?, to know all parms.

Regards

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Sun Apr 03, 2022 10:06 PM
nageswaragunupudi wrote:FWH native SQL BackUp and Restore are one of the best backup facilities available, even compared to sqldump or hidisql, etc.

Simple to use:
Code (fw): Select all Collapse
oCn:BackUp( [aTables], [cfile/folder], [bProgress],... )
oCn:Restore( cBackupFile )


Most simple to use and at the same time, highly feature rich and efficient.
Compatible with 1701.
We recommend you to save your time and effort and use one of the best backup/restore utility you already have in our own library.


Mr. Rao Excuse me, I had not read your post. I'm going to try and I will comment to you back.

Thanks a lot
"Los errores en programaci贸n, siempre est谩n entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Sun Apr 03, 2022 10:24 PM
horacio wrote:Hola Jos茅, estoy haciendo una herramienta para crear backups en sql, utilizo para ello mysqldump. Funciona bien pero me gustar铆a que no salga la pantalla msdos cuando se ejecuta, Veo en tu video que lo resolviste. Que funci贸n utilizas para ejecura mysqldump en modo silencioso?. Desde ya muchas gracias

Saludos


Hola horacio, disculpa que no habia visto tu post.

Si aun te interesa, puedes enviarme un correo a jalvarez neurosistema.online y te envio la funcion. luego la adaptas a tu uso.

Tambien es bueno que veas el aporte de mr rao. se ve mucho mas simple
"Los errores en programaci贸n, siempre est谩n entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Mon Apr 04, 2022 01:59 AM
Regards



G. N. Rao.

Hyderabad, India
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Mon Apr 04, 2022 12:20 PM

Hola Jos茅 y Rao, el problema de las funciones para backups nativas de fivewin es que muchas veces se genera el backup
pero est谩 corrupto. Por eso quiero usar mysqldump. Gracias.

Saludos

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Mon Apr 04, 2022 12:27 PM
This is one simple code used by a small user:
Code (fw): Select all Collapse
 聽 DEFINE BUTTON OF oBar PROMPT "BackUp" 聽ACTION ( ;
聽 聽 聽 聽 聽CursorWait(), ;
聽 聽 聽 聽 聽MsgInfo( cn():BackUp( nil, "g:\vp_act\mybackup\" ) + " Created" ) )


The user clicks the button everyday when leaving.
What does this simple code
Code (fw): Select all Collapse
cn():BackUp( nil, "g:\vp_act\mybackup\" )

do?

First parameter is nil. That means the entire "database" currenly selected is backedup. This back up includes all tables, views and all objects like stored procedures, functions, triggers, etc.

Second parameter "g:\vp_act\mybackup\" is a folder name. Not a file name. In this case, the backup file "<databasename>.sql" is created in a subfolder with the name of the week.
Eg:
"g:\vp_act\mybackup\SUNDAY\databasename.sql"
"g:\vp_act\mybackup\MONDAY\databasename.sql"
"g:\vp_act\mybackup\TUESDAY\databasename.sql"
....
"g:\vp_act\mybackup\SATURDAY\databasename.sql"

In addition, he mapped "G:" drive to his GoogleDrive.

So at any point of time, he has seven days backups on his google drive.
He has his main database on a cloud server.

Even if all his office computers are damaged, he is safe.
He still has data on a cloud server. Even if that goes, he still has seven days backups on Google Cloud..

Backup() method has many features. This is one way one user has used.

Encryption:
It is extremely easy to encrypt our backups, compared with any 3rd party utility.
Code (fw): Select all Collapse
MYSQL_ENCRYPTKEY( <yourkey> )
oCn:BackUp( ... )
MYSQL_ENCRYPTKEY( nil )

Now, even if our backups fall into the hands of any third party, there is no worry.

Dolphin/TMySql/ADO:
It does not matter whether your main application uses Dolphin, TMySql or ADO.
FW native libs easily coexists with them.
Code (fw): Select all Collapse
oFwCon := maria_Connect( oDolphinSever )
// OR
oFwCon := maria_Connect( oTMySqlCon )
// OR
oFwCon := maria_Connect( oAdoConn )

oFwCon:BackUp( ... )
oFwCon:Close()
Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Mon Apr 04, 2022 12:27 PM
This is one simple code used by a small user:
Code (fw): Select all Collapse
 聽 DEFINE BUTTON OF oBar PROMPT "BackUp" 聽ACTION ( ;
聽 聽 聽 聽 聽CursorWait(), ;
聽 聽 聽 聽 聽MsgInfo( cn():BackUp( nil, "g:\vp_act\mybackup\" ) + " Created" ) )


The user clicks the button everyday when leaving.
What does this simple code
Code (fw): Select all Collapse
cn():BackUp( nil, "g:\vp_act\mybackup\" )

do?

First parameter is nil. That means the entire "database" currenly selected is backedup. This back up includes all tables, views and all objects like stored procedures, functions, triggers, etc.

Second parameter "g:\vp_act\mybackup\" is a folder name. Not a file name. In this case, the backup file "<databasename>.sql" is created in a subfolder with the name of the week.
Eg:
"g:\vp_act\mybackup\SUNDAY\databasename.sql"
"g:\vp_act\mybackup\MONDAY\databasename.sql"
"g:\vp_act\mybackup\TUESDAY\databasename.sql"
....
"g:\vp_act\mybackup\SATURDAY\databasename.sql"

In addition, he mapped "G:" drive to his GoogleDrive.

So at any point of time, he has seven days backups on his google drive.
He has his main database on a cloud server.

Even if all his office computers are damaged, he is safe.
He still has data on a cloud server. Even if that goes, he still has seven days backups on Google Cloud..

Backup() method has many features. This is one way one user has used.

Encryption:
It is extremely easy to encrypt our backups, compared with any 3rd party utility.
Code (fw): Select all Collapse
MYSQL_ENCRYPTKEY( <yourkey> )
oCn:BackUp( ... )
MYSQL_ENCRYPTKEY( nil )

Now, even if our backups fall into the hands of any third party, there is no worry.

Dolphin/TMySql/ADO:
It does not matter whether your main application uses Dolphin, TMySql or ADO.
FW native libs easily coexists with them.
Code (fw): Select all Collapse
oFwCon := maria_Connect( oDolphinSever )
// OR
oFwCon := maria_Connect( oTMySqlCon )
// OR
oFwCon := maria_Connect( oAdoConn )

oFwCon:BackUp( ... )
oFwCon:Close()
Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Respaldo de base de datos mariadb desde fivewin
Posted: Mon Apr 04, 2022 12:29 PM
horacio wrote:Hola Jos茅 y Rao, el problema de las funciones para backups nativas de fivewin es que muchas veces se genera el backup
pero est谩 corrupto. Por eso quiero usar mysqldump. Gracias.

Saludos

I know many users using native backup/restore.
Anyway I will contact all such users and get back.
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion