使用sqlcmd -i在脚本文件中执行存储过程

时间:2011-03-22 06:27:49

标签: sql sqlcmd

需要一些脚本文件的帮助。 我有一个SQL脚本文件,格式如下:

Begin tran

insert..

select..

update..

Commit
exec linked_server.db1.dbo.storedproc1

我以下列方式从.js文件中调用上述脚本文件:

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

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

var oExec = WshShell.Exec(sCommand);

当我运行.js文件时,tran-commit之间的代码被执行但是从不调用storeproc1。我确实知道没有调用storedproc1,因为它有一个从不在表中显示的insert语句列表。

1 个答案:

答案 0 :(得分:1)

您是否尝试过单独运行exec storedproc1?也许它会引发错误。

您也可以尝试像这样添加go

commit
go
exec storedproc1

您可以先在管理工作室试试这个。在确定它在管理工作室中有效后,您可以继续通过sqlcmd运行它。

编辑:接下来你可以检查运行脚本的用户的权限,是否允许它运行存储过程。

相关问题