Por que este WinExec não está funcionando?
Senhores, Estou usando o Delphi 7 com MSSQL (MSDE) e ADO.
Faço o bakup de minha base de dados e por motivo de segurança devo transfer o arquvo gerado para um outro servidor ,executando um comando COPY. Entretanto, o comando copy não cria o novo registro.
Mostro abaixo a codificação que estou usando.
procedure TFormTelaPrincipal.BACKUP1Click(Sender: TObject);
var
Wano,Wmes,Wdia,Whora,nomearq,Hnomearq:string;
begin
datetimetostring(Wano,´yy´,now);
datetimetostring(Wmes,´mm´,now);
datetimetostring(Wdia,´dd´,now);
datetimetostring(Whora,´hh´,now);
HNomearq:=´G:\SISCO\backup\CISPO´+Wano+Wmes+Wdia+Whora+´.BKP´;
Nomearq:=´c:\SISCO\backup\SISCO´+Wano+Wmes+Wdia+Whora+´.BKP ´;
ADOBackup.CommandText:=´BACKUP DATABASE SISCO TO DISK = ´+ #39 + NomeArq + 39;
ADOBackup.Execute;
showmessage(´Arquivo de Backup local gravado´);
WinExec(Pchar(´command.com /c copy ´ + nomearq + HNomearq) ,0);
showmessage(´Arquivo de Backup REMOTO gravado´);
end;
Faço o bakup de minha base de dados e por motivo de segurança devo transfer o arquvo gerado para um outro servidor ,executando um comando COPY. Entretanto, o comando copy não cria o novo registro.
Mostro abaixo a codificação que estou usando.
procedure TFormTelaPrincipal.BACKUP1Click(Sender: TObject);
var
Wano,Wmes,Wdia,Whora,nomearq,Hnomearq:string;
begin
datetimetostring(Wano,´yy´,now);
datetimetostring(Wmes,´mm´,now);
datetimetostring(Wdia,´dd´,now);
datetimetostring(Whora,´hh´,now);
HNomearq:=´G:\SISCO\backup\CISPO´+Wano+Wmes+Wdia+Whora+´.BKP´;
Nomearq:=´c:\SISCO\backup\SISCO´+Wano+Wmes+Wdia+Whora+´.BKP ´;
ADOBackup.CommandText:=´BACKUP DATABASE SISCO TO DISK = ´+ #39 + NomeArq + 39;
ADOBackup.Execute;
showmessage(´Arquivo de Backup local gravado´);
WinExec(Pchar(´command.com /c copy ´ + nomearq + HNomearq) ,0);
showmessage(´Arquivo de Backup REMOTO gravado´);
end;
Rounilo
Curtidas 0
Respostas
Rafael Gomes
17/04/2006
amigo, tente colocar a linha de comando completa ...
se quiser testar se o winexec esta executando sua linha de comando, lembre-se de que ele é uma funcao e retorna um valor maior que 33 caso a instrucao seja executada, lembrando que o fato dela ter sido executada nao garante que foi executada com sucesso!!
[]s
se quiser testar se o winexec esta executando sua linha de comando, lembre-se de que ele é uma funcao e retorna um valor maior que 33 caso a instrucao seja executada, lembrando que o fato dela ter sido executada nao garante que foi executada com sucesso!!
[]s
GOSTEI 0
Rafael Gomes
17/04/2006
amigo, tente colocar a linha de comando completa ...
se quiser testar se o winexec esta executando sua linha de comando, lembre-se de que ele é uma funcao e retorna um valor maior que 33 caso a instrucao seja executada ...
[]ss
se quiser testar se o winexec esta executando sua linha de comando, lembre-se de que ele é uma funcao e retorna um valor maior que 33 caso a instrucao seja executada ...
[]ss
GOSTEI 0
Paullsoftware
17/04/2006
tente usar no lugar do WinExec o comando [b:07ade4c921]CopyFile[/b:07ade4c921] do proprio delphi... :wink:
GOSTEI 0
Rounilo
17/04/2006
tente usar no lugar do WinExec o comando [b:a57131354c]CopyFile[/b:a57131354c] do proprio delphi... :wink:
Paulo, será que este comando permite copiar para um PC de um outro servidor ??
GOSTEI 0