"실행"창에서 실행할 때 올바르게 작동합니다.ASP .NET 웹 응용 프로그램 내에서 새 프로세스로 실행할 때 mysqldump가 작동하지 않습니다.
cmd.exe /K mysqldump --add-drop-database --add-drop-table --user=root --password=thepassword --databases theDatabase > C:\Backup\theBackup.sql
그러나 외부 프로세스를 호출하여 웹 응용 프로그램에서 실행하려고하면 동일한 명령이 실행되지 않습니다. theBackup.sql - - ... 이것은 내가 무엇을 얻을 흥미롭게
alt text http://img40.imageshack.us/img40/8121/mysqldumperror.gif
, 파일
ProcessStartInfo processInfo = new ProcessStartInfo("cmd.exe", @"/K mysqldump --add-drop-database --add-drop-table --user=root --password=thepassword --databases theDatabase > C:\Backup\theBackup" + ".sql");
Process p = Process.Start(processInfo);
생성됩니다 만, 비어 :
여기에 코드입니다.
환경 변수 PATH 변수 문제가 아닙니다. mysqldump가 포함 된 MySql bin 디렉토리 경로가 환경 PATH 변수에 추가됩니다. 이를 확인하려면 ... 내가 명령 프롬프트를 열 경우, 위의 스크린 샷에서 언급 된 경로로 이동하여 다음과 같이 ... mysqldump는 명령을 수동으로,이 명령을 인식 입력
alt text http://img40.imageshack.us/img40/6879/mysqldumppathproper.gif
문제 다음 코드가 작동하기 때문에 mysqldump에만 해당된다.
ProcessStartInfo processInfo = new ProcessStartInfo("cmd.exe", "/K ping stackoverflow.com");
무엇이 잘못 되었나요?
도 – Sameet
당신이 경로를 인용하거나 그것에 공백을 탈출 확인 했습니까? –
가 함께 일한 (바로 대답을 덧붙였다) :-(일 완전한 경로 - 이스케이프 스페이스 :-) 감사합니다. – Sameet