*********************************
//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 wrote:Amigo buenos días como estas?
Lo que no se, es si sea compatible con fw 17.01.
- Code: Select all Expand view
*********************************
//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
oCn:BackUp( [aTables], [cfile/folder], [bProgress],... )
oCn:Restore( cBackupFile )
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: Select all Expand view
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.
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
DEFINE BUTTON OF oBar PROMPT "BackUp" ACTION ( ;
CursorWait(), ;
MsgInfo( cn():BackUp( nil, "g:\vp_act\mybackup\" ) + " Created" ) )
cn():BackUp( nil, "g:\vp_act\mybackup\" )
MYSQL_ENCRYPTKEY( <yourkey> )
oCn:BackUp( ... )
MYSQL_ENCRYPTKEY( nil )
oFwCon := maria_Connect( oDolphinSever )
// OR
oFwCon := maria_Connect( oTMySqlCon )
// OR
oFwCon := maria_Connect( oAdoConn )
oFwCon:BackUp( ... )
oFwCon:Close()
DEFINE BUTTON OF oBar PROMPT "BackUp" ACTION ( ;
CursorWait(), ;
MsgInfo( cn():BackUp( nil, "g:\vp_act\mybackup\" ) + " Created" ) )
cn():BackUp( nil, "g:\vp_act\mybackup\" )
MYSQL_ENCRYPTKEY( <yourkey> )
oCn:BackUp( ... )
MYSQL_ENCRYPTKEY( nil )
oFwCon := maria_Connect( oDolphinSever )
// OR
oFwCon := maria_Connect( oTMySqlCon )
// OR
oFwCon := maria_Connect( oAdoConn )
oFwCon:BackUp( ... )
oFwCon:Close()
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
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot], wilsongamboa and 32 guests