如何通过任务计划程序启动cmd.exe来执行DTExec?

3
我想要利用Task Scheduler自动化一个SSIS包,使用dtexec来完成(因为我没有创建SQL Agent的权限),并且需要在本地计算机上完成。我参考了这篇文章:如何使用任务计划程序启动cmd.exe执行命令?,但我无法正确设置dtexec语法。
我的程序脚本是:
"C:\Program Files\Microsoft SQL Server\120\DTS\Binn\dtexec.exe" 

带有添加参数的:

/f “C:\Users\f9a\Desktop/HRFact.dtsx”

输入图像描述

但是当它运行时,cmd 窗口会一闪而过,然后消失。历史记录显示返回代码为4。

输入图像描述

我可以在 cmd.exe 中输入以下内容来运行它:

dtexec/f “C:\Users\f9a\Desktop/HRFact.dtsx” 

它目前可以很好地运行。但是,我似乎无法获得任务计划程序的语法。你能帮助我吗?提前感谢!

-Trey

2个回答

1

那没什么不同的地方。依然会弹出命令窗口但马上就关闭而没有任何结果。还有其他想法吗?谢谢。 - TWaller

1

(这可能应该是一条注释,但有点长。抱歉。)

您的任务似乎正常工作。你只看到控制台窗口快速弹出是因为 DTEXEC 启动了(毕竟它是一个控制台应用程序),但立即以错误退出。

返回代码 4 是退出代码(或 ERRORLEVEL),当 DTEXEC 找不到包文件时返回,根据 this

由于该包似乎位于特定用户的目录中(“C:\Users\f9a\Desktop/HRFact.dtsx”),请确保运行任务的用户可以访问此目录。

(另外,为了保持清晰,请考虑在文件名前使用反斜杠,尽管这不重要)


谢谢,@Christian.K,但我是用户f9a,可以通过DtExecGUI在本地运行它,并且它可以正常工作 - 我只是似乎无法正确获取Windows任务计划程序的语法。 - TWaller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接