Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > DB2
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-03-2017
scigliano scigliano is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 10
Poder: 0
scigliano Va por buen camino
Question Ejecutar Instruccion de Backup desde Codigo Delphi

Saludos...

Por largo tiempo he utilizado un archivo .bat para ejecutar los backup del DB2 manualmente con la siguiente instrucción:

Código SQL [-]
DB2CMD DB2 BACKUP DATABASE ABC ONLINE TO "C:\Backup\" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS  WITHOUT PROMPTING

Hasta allí, todo bien, sin problemas.
El punto es que ahora estoy intentando ejecutar esta misma instrucción directamente desde un ejecutable desarrollado en Delphi, y lo he programado de la siguiente manera:

Código Delphi [-]
procedure TFrmMenuPrincipal.BtnBatClick(Sender: TObject);
var
   i : Integer;
   Sentencia: TStringList;
begin
   Sentencia := TStringList.Create;
   Sentencia.Clear;
   Sentencia.Add('DB2CMD DB2 BACKUP DATABASE ABC... ');
   if ShellExecute(Handle,'open',PChar(Sentencia[0]),nil,nil,SW_SHOWNORMAL) <= 32
   then
   Application.MessageBox('No se pudo ejecutar la aplicación','Error', MB_ICONEXCLAMATION);
   Sentencia.Free;
end;

Pero al ejecutar el procedimiento, siempre se genera un error, y lo se por la condición del ShellExecute de que si es menor a 32, muestre el mensaje indicado. Imagino que el error es por un tema de que faltan mas parámetros, pero he googleado y no he conseguido nada positivo.

Agradezco si alguien ha pasado por esta situación, que me pueda orientar.

Gracias de antemano.
Scigliano
Responder Con Cita
  #2  
Antiguo 16-03-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cuando pongas código, pon exactamente lo que estás usando, copia y pega, lo digo por esto:
Código Delphi [-]
Sentencia.Add('DB2CMD DB2 BACKUP DATABASE ABC... ');
De todas formas, seguramente es por las comillas, prueba a poner:
Código Delphi [-]
'DB2CMD DB2 BACKUP DATABASE ABC ONLINE TO '+#34+'C:\Backup\'+#34+' WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS  WITHOUT PROMPTING'
Responder Con Cita
  #3  
Antiguo 16-03-2017
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Saludos...

Si el ejecutable es ese tal DB2CMD y los parámetros el resto de la sentencia, entonces sería así
Código Delphi [-]
ShellExecute(0, nil, 'DB2CMD', 'DB2 BACKUP DATABASE ABC ONLINE TO "C:\Backup\" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS  WITHOUT PROMPTING', nil, SW_SHOWNORMAL);

De todas maneras, también podría hacer un archivo .bat con la sentencia completa y luego ejecutarlo así
Código Delphi [-]
ShellExecute(0, nil, 'cmd', '/C archivo.bat', nil, SW_SHOWNORMAL);
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 16-03-2017
scigliano scigliano is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 10
Poder: 0
scigliano Va por buen camino
Agradecido con TOPX y Casimiro

La instrucción funcionó bien con lo indicado por TOPX.
Era el comando DB2CMD.


Gracias
Scigliano
Responder Con Cita
Respuesta



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
backup a bd MySQL desde Delphi 7 jeremiselxi Varios 3 21-10-2014 01:14:13
Ejecutar .bat de un backup mysql desde c++ builder 6 ó XE dmartinezn C++ Builder 16 15-04-2012 21:40:45
enviar instruccion de =SUM desde delphi 5 a excel mayte mtz Varios 2 06-12-2006 17:52:28
ejecutar jsp desde codigo java joel20 JAVA 0 11-07-2006 11:56:36
Backup de SQL desde Delphi Bairon Kumon SQL 3 04-05-2005 12:37:37


La franja horaria es GMT +2. Ahora son las 01:58:06.


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