2014-07-24 4 views
0

다른 스크립트를 실행하고 성공 또는 실패 할 경우 추가 작업을 수행하기 위해 스크립트를 만들려고합니다.

this link에 대한 전체 코드는 내가 성취하려는 것을 명확히하려는 것입니다.

-- DO SOME STUFF HERE 

r: "$(fileName)" 

-- MORE STUFF HERE 

sqlcmd에서이 방법을 전화 :

sqlcmd -i "RunScript.sql" -v fileName="someFileName.sql" -s server -d database 

을하지만, 나는 다음과 같은 오류 받고 있어요 수 없습니다

Msg 102, Level 15, State 1, Server SERVER, Line 19 Incorrect syntax near 'someFileName.sql'.

기본적으로 내가 원하는

작은 r:은 매개 변수와 함께 사용할 수 없습니다.

명확히하기 위해 someFileName.sql은 SQL Server에 없지만 내 컴퓨터에 있으므로 this way을 사용하여 파일을 읽을 수 없습니다. 실제로, 나는 단지 tried it later입니다.

이것을 보관할 수있는 임시 해결책이 있습니까? 어떤 아이디어라도 해결할 수 있습니까?

답변

1

현재 RunScript.sql 스크립트를 별도의 머리글과 바닥 글 SQL 스크립트로 나누고 CMD 스크립트에 대한 입력 매개 변수로 표시된 중간에있는 SQL 스크립트와 함께 연결할 수 있습니다. 예를 들어 :

@ECHO OFF 

COPY /V /Y RunScriptHeader.sql + %1 + RunScriptFooter.sql RunScriptTemp.sql 

SQLCMD -i "RunScriptTemp.sql" -s server -d database 
  • 가/V는 해당/Y 기존 파일

당신을 덮어 쓰기를 확인하는 메시지를 억제 사본

  • 에 확인 않습니다

    RunSQL.CMD의 구성 다음과 같이 실행합니다.

    RunSQL.CMD someFileName.sql