2011-03-22 22 views
1

需要腳本文件的幫助。 我有以下格式的SQL腳本文件:使用sqlcmd執行腳本文件中存儲的proc -i

Begin tran 

insert.. 

select.. 

update.. 

Commit 
exec linked_server.db1.dbo.storedproc1 

我從以下方式.js文件中調用上面的腳本文件:

​​

當我運行的.js文件,tran-commit之間的代碼被執行,但storeproc1從不被調用。我確實知道storedproc1沒有被調用,因爲它有一個從不在表中出現的插入語句列表。

回答

1

您是否嘗試過單獨運行exec storedproc1?也許它會拋出一個錯誤。你

也可以嘗試加入go這樣的:

commit 
go 
exec storedproc1 

您可以在管理工作室第一個嘗試。在確定它在管理工作室中有效後,您可以繼續通過sqlcmd運行它。

編輯:接下來可以檢查用戶運行腳本的權限,是否允許運行存儲過程。

+0

「去」不起作用。存儲的proc不會拋出錯誤,運行良好。 – 2011-03-23 04:11:35

+0

運行腳本的用戶權限如何? – 2011-03-23 04:48:50

+0

好的。我的錯! 「存儲過程1」未在該服務器上運行,而是在不同的鏈接服務器上運行。儘管我正確使用鏈接的服務器名稱,但它並未執行。連接「:連接」到該服務器並執行「存儲過程1」工作正常。 – 2011-03-23 05:34:31