2011-03-22 2 views
1

스크립트 파일에 대한 도움이 필요합니다. 난은 .js를 실행하면sqlcmd -i를 사용하여 스크립트 파일 내에서 저장된 proc 실행

var sCommand = "sqlcmd -i C:\\scriptfile1" 

var WshShell = new ActiveXObject("WScript.Shell"); 

var oExec = WshShell.Exec(sCommand); 

:

Begin tran 

insert.. 

select.. 

update.. 

Commit 
exec linked_server.db1.dbo.storedproc1 

나는 다음과 같은 방식은 .js 파일 내에서 위의 스크립트 파일을 호출 오전 : 나는 다음과 같은 형식의 SQL 스크립트 파일이 파일에서 tran-commit 사이의 코드는 실행되지만 storeproc1은 호출되지 않습니다. 나는 테이블에 나타나지 않는 insert 문 목록을 가지고 있기 때문에 storedproc1이 호출되지 않는다는 것을 알고있다.

답변

1

exec storedproc1 만 실행 해 보셨습니까? 어쩌면 오류가 발생할 수 있습니다.

또한이 같은 go을 추가하는 시도 할 수 있습니다 :

commit 
go 
exec storedproc1 

먼저 관리 스튜디오에서 이것을 시도 할 수 있습니다. 관리 스튜디오에서 작동하는지 확인한 후 sqlcmd를 통해 실행할 수 있습니다.

편집 : 다음으로 저장 프로 시저 실행이 허용되는지 여부에 관계없이 스크립트를 실행하는 사용자의 사용 권한을 확인할 수 있습니다.

+0

"go"가 작동하지 않습니다. 저장된 proc은 오류를 발생시키지 않고 잘 돌아갑니다. –

+0

스크립트를 실행하는 사용자의 권한은 어떻습니까? –

+0

확인. 내 잘못이야! "stored proc 1"은 해당 서버에서 실행 중이 아니고 연결된 다른 서버에서 실행되고있었습니다. 연결된 서버 이름을 올바르게 사용하고 있지만 실행되지 않습니다. ": connect"를 해당 서버에 연결하고 "stored proc 1"을 실행하면 정상적으로 작동합니다. –

관련 문제