Hola Khronos,
gracias por tu respuesta, he encontrado otro método de ejecución de DTS sin falta de usar una función DOS...
Lo pongo a continuación por si le sirve a alguien:
Código:
procedure EjecutarDTS;
var
pkg: Variant;
i:integer;
begin
pkg:= CreateOleObject('DTS.Package');
try
pkg.LoadFromSQLServer(datasourceName,UserName,Password,,,,,dtsName),'');
for i := 1 to pkg.steps.count do
pkg.steps.Item(i).executeinMainThread := True;
pkg.FailOnError := true;
pkg.Execute;
MessageDlg('La ejecución se ha realizado correctamente',mtInformation,[mbOK],0);
except
on E: Exception do
begin
showmessage('Error = ' + E.Message);
exit;
end;
end;
pkg.uninitialize;
pkg:=UnAssigned;
end;
Un saludo