Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2013
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Lo que ha puesto Casimiro te sirve.

El servidor tendrá Firebird, por tanto ejecutará el gbak, hará la copia y lo enviará a otro ordenador remoto. En el remoto no tienes que instalar Firebird, bien puede ser una carpeta, otro ordenador, o un ftp.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 15-07-2013
xFas xFas is offline
Registrado
NULL
 
Registrado: jul 2013
Posts: 9
Poder: 0
xFas Va por buen camino
Sigue sin funcionarme, os dejo código para que podáis ver lo que estoy intentando

Código Delphi [-]
try
  FillChar(SEInfo, SizeOf(SEInfo), 0);
  SEInfo.cbSize := SizeOf(TShellExecuteInfo);
  with SEInfo do begin
   fMask           := SEE_MASK_NOCLOSEPROCESS;
   Wnd             := 0;
   lpFile            := PWIDEChar(RegQueryStringValue('SOFTWARE\Firebird Project\Firebird Server\Instances', 'DefaultInstance')+'bin\gbak.exe');
   nShow          := SW_HIDE;
   lpParameters := PWIDEChar('-v -t -user SYSDBA -password "masterkey" LOCALHOST: DATABASE ' + 'REMOTE:/Programacion/Backup_Firebird');
  end;
  if ShellExecuteEx(@SEInfo) then begin
   repeat
    GetExitCodeProcess(SEInfo.hProcess, ExitCD);
   until (ExitCD <> STILL_ACTIVE) or (Terminated);
  end;
Responder Con Cita
  #3  
Antiguo 15-07-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.714
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Los directorios que tengan espacios debes escribirlos entre comillas, ejemplo:

"c:\Archivos de programa\Firebird\bin\gbak" -b -t -v -user sysdba -password masterkey "localhost:c:\mis datos\basedatos.fdb" 192.168.1.100:c:\backups\elbackupdetubd.fbk
Responder Con Cita
  #4  
Antiguo 15-07-2013
xFas xFas is offline
Registrado
NULL
 
Registrado: jul 2013
Posts: 9
Poder: 0
xFas Va por buen camino
Lo se, he separado "LOCALHOST: DATABASE" para que no me saliese un , ¡perdón!
Responder Con Cita
  #5  
Antiguo 15-07-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.714
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No, me refiero en la ruta: "c:\Archivos de programa\firebird...." debe ir entre comillas porque tiene espacios.
o sea, algo así como:

QuotedStr(la ruta)
Responder Con Cita
  #6  
Antiguo 15-07-2013
xFas xFas is offline
Registrado
NULL
 
Registrado: jul 2013
Posts: 9
Poder: 0
xFas Va por buen camino
Si le pongo el QuotedStr así
Código Delphi [-]
lpFile            := PWIDEChar(QuotedStr(RegQueryStringValue('SOFTWARE\Firebird Project\Firebird Server\Instances', 'DefaultInstance')+'bin\gbak.exe'));
no encuentra el archivo.

Ademas, estoy seguro de que el error no viene de por ahí, ya que si que hace los backups en carpetas locales. Solo da problemas con carpetas en red
Responder Con Cita
  #7  
Antiguo 15-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola xFas.

Como te esta indicando Casimiro es la forma correcta de llamar a gbak, seguramente el problema este en la llamada a ShellExecute o exista alguna ruta incorrecta.

De este modo me funciona sin problemas:
Código Delphi [-]
...
uses ShellApi;

procedure MakeGbak(const Origen, Destino: string);
var
  lpDirectory,
  lpParameters: PChar;
begin
  lpDirectory := PChar(GetEnvironmentVariable('ProgramFiles') + '\Firebird\Firebird_2_5\bin');
  lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" ' + Origen + ' ' + Destino);
  ShellExecute(Form1.Handle,
               'open',
               'gbak.exe',
               lpParameters,
               lpDirectory,
               SW_HIDE);
end;
Tomá en cuenta que el ejemplo está basado en Firebird 2.5 para tomar la ubicación de gbak

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 15-07-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.714
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por xFas Ver Mensaje
Ademas, estoy seguro de que el error no viene de por ahí
Pues si tiene espacios es seguro que no funciona.

EDITO: ecfisa te ha puesto otro ejemplo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Servicio Web andresenlared Varios 1 21-06-2011 20:50:50
Como arrancar o parara un servicio en funcion de otro servicio ?? QuarkBcn API de Windows 12 15-06-2011 15:46:11
Servicio Web Ricardo León Internet 6 07-10-2005 19:29:11
Servicio Web Ricardo León Internet 1 06-10-2005 19:28:16
Servicio NO-IP StartKill Varios 1 29-03-2005 01:18:30


La franja horaria es GMT +2. Ahora son las 14:26:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi