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