2013-09-25 4 views
4

단일 .bat 파일을 사용하여 다음 작업을 수행하려고합니다. 1) Windows 7 Professional 64 비트 시스템의 SQLEXPR_x64_ENU.exe에서 SQL Server 2008 R2 Express를 설치하고 2) 설치가 완료되면 일부 .sql 스크립트를 실행하십시오.동일한 .bat 파일에서 SQL 설치 및 sqlcmd와 관련된 문제

설치를 실행 한 .bat 파일에서 sqlcmd를 실행하면 sqlcmd가 다음 오류와 함께 실패합니다. " 'sqlcmd'가 내부 또는 외부 명령, 작동 가능 프로그램 또는 배치 파일로 인식되지 않습니다. "

install 및 .sql 스크립트를 별도의 .bat 파일에서 실행하면 문제가 발생하지 않으므로 문제가 sqlcmd 구문과 관련이 없음을 알 수 있습니다. 단일 .bat를 사용하고 새 창에서 cmd/c "sqlcmd ..."를 시작하고 원래 .bat 파일에서 sqlcmd 명령을 포함하는 두 번째 .bat 파일을 호출하여 sqlcmd 명령을 실행 해 보았습니다. \ filepath \ file.bat)하지만 각 경우마다 동일한 오류가 발생합니다. 즉 등

을 잘못된 순서로 박쥐 파일을 실행 한하지만 다른 실행의 문제를 열기 때문에

두 개 이상의 .bat 파일을 실행해야하는 사용자를 원하지 않는다 내 두 가지 질문은 다음과 같습니다.

  1. 왜 이런 일이 일어나는 지 알고 계십니까?
  2. 단일 .bat 파일 만 시작하는 솔루션이 있습니까?

답변

5

나는이 문제에 대해 100 % 확신 할 수 없으며 아직 댓글에 추가 할 수 없으므로 여기에 설명을 추가해야합니다.

1. 아무도 왜 이런 일이 발생하는지 알고 있습니까?

  • 나는 SQL 환경을 설치할 때 Windows 환경 변수에 특정 경로를 추가하기 때문에 이러한 상황이 벌어지고 있다고 상상해보십시오. 배치 스크립트는 SQL Server 버전을 설치하는 데 사용되므로 Windows 환경 변수가 새로 고쳐지지 않아 SQLCMD.exe 파일이 C : \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ (또는 설치하지 않으려 고해도 캐시되지 않습니다.)

2. 하나의 .bat 파일 만 시작하는 해결책이 있습니까?

  • 매번 기본 위치 (예 : C : \ Program Files \ Microsoft SQL Server)에 설치하는 경우. 그런 다음 SQLCMD를 바로 시작할 수 있습니다. I.E.

C : \ 프로그램 Files \ Microsoft SQL 서버 \ 100 개 \ 도구 .... BINN \ sqlcmd.exe를 -q 등 \

당신은 그것을 쉽게하기 위해 해당 경로에 변수를 만들 가치가있을 수도 있습니다 .

배치 스크립트에서 새로 고침하거나 새로운 Windows 환경 변수를 찾는 프로세스를 모르지만 그럴 가능성이 있다고 생각합니다.

+0

전체 파일 경로를 지정한 다음 업데이트를 제공하려고 시도합니다. 고맙습니다. – wonderman

+0

전체 파일 경로를 지정하면 문제가 해결됩니다. 나는 대답으로 이것을 upvote 하겠지만 나는 충분한 평판 포인트가 없다. 다시 감사합니다. – wonderman