Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Mailho

[Resolvido] Aplicação não executa arquivo .cmd pelo servidor; ape

Recommended Posts

Fala galera.

 

Estou tentando executar um arquivo .cmd com instrução sqlcmd na minha aplicação .net(asp.net/C#).

Eu testei via localhost enquanto desenvolvia, e funcionou perfeitamente com o comando:

 

 Process.Start("./"+NomeBat);

 

Mas agora que coloquei a aplicação para rodar no servidor nao funciona mais:

 

System.ComponentModel.Win32Exception: The system cannot find the file specified

 

Eu consigo gerar o arquivo na basta, mas não executa-lo.

 

Alguem tem alguma ideia do que pode ser? Tentei trocar a string do caminho para o caminho completo mas dai ele não faz nada! Nem da erro nem nada:

 

Process.Start(@"\\D1250008\Projetos\Controle\Controle\849geraRelatorio.cmd");

 

O pior é que nem posso debugar apra ver oque acontece.

Porque debugando ele funciona.

 

Não sei mais oque fazer! Agradeço pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer funcionar, ao invez de gerar o arquivo .bat e fazer a aplicação executa-lo em seguida, executo a instrução sqlcmd direto:

 

string cmd = @" -S D17D1250008 -U LOGIN -P SENHA -d SACIweb -o ""C:\carga.txt""  -s; -W -Q  ""select * from tbCarga"";

ProcessStartInfo info = new ProcessStartInfo("sqlcmd", cmd);

info.UseShellExecute = false;
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
info.RedirectStandardOutput = true;

Process p = new Process();
p.StartInfo = info;
p.Start();

 

A instrução sera executada, e o arquivo sera gerado no host aonde se encontra a aplicação! Depois é só fazer o download do resultado. :grin:

 

Percebi que por algum motivo, a instrução "ProcessStartInfo" não executava o comando quando eu formava a string do sqlcmd por stringBuilder, usando espaços entre as linhas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.