2011-03-22 38 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