SQL 代理作业关闭 Excel 过程
Posted
技术标签:
【中文标题】SQL 代理作业关闭 Excel 过程【英文标题】:SQL Agent Job Close Excel Process 【发布时间】:2013-01-21 23:46:55 【问题描述】:我想创建一个 SQL 作业来关闭所有打开的 Excel 进程。我创建了一个可以双击运行的 VB 脚本。我试过了
wscript C:\Apps\DestroyExcel.vbs
使用类型 CmdExec。如何从 SQL 执行它以安排作业运行?
暗淡 objXL 出错时继续下一步 设置 objXL = GetObject(, "Excel.Application") If Not TypeName(objXL) = "Empty" Then objXL.quit 别的 msgbox "Excel 未运行。" 万一【问题讨论】:
【参考方案1】:在 SSMS 中:
-
转到 SQL Server 代理
右击“工作” --> 新建工作
输入信息
在步骤部分,点击新建
对于类型,选择操作系统 (CmdExex)
对于命令,键入:cscript C:\myscript.vbs
设置您的日程安排
按确定
我认为应该这样做。
【讨论】:
我试过这个选项。它成功执行,没有错误,但 Excel 仍处于打开状态。也许我应该试试 Master.XP_CMDSHELL @g_shockTan 这很有趣。也许这是一个权限的事情?我认为 SQL 作业默认从 SQL Server 代理运行,它可能没有足够的权限来运行 vbs 脚本...hmmmm 我在 cmd 提示符下执行它,并使用 cscript c:\apps\destroyexcel.vbs 输入。它关闭了所有 excel 进程。 @g_shockTan 那么它必须是权限问题。 SQL Server 代理没有足够的权限来执行 vbscript 中的语句。让我看看我能弄清楚什么 @g_shockTan 经过大量挖掘,我完全不知所措:(我一辈子都不能让它在我的电脑上工作。我尝试了很多东西(批量文件,新用户,具有凭据的代理),但最终我无法让它工作。我很想知道你或其他人如何解决这个问题。抱歉 g_shockTan以上是关于SQL 代理作业关闭 Excel 过程的主要内容,如果未能解决你的问题,请参考以下文章
使用 ssis 包在 SQL Server 代理作业中找不到存储过程错误