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 过程的主要内容,如果未能解决你的问题,请参考以下文章

如何查找调用给定存储过程的所有 SQL 代理作业

如何从存储过程启用 SQL Server 代理作业执行

从SQL代理作业调用时,工作存储过程失败

使用 ssis 包在 SQL Server 代理作业中找不到存储过程错误

从 SQL Server 代理(作业)运行 C# 控制台应用程序?

从SQL Server代理(作业)运行C#控制台应用程序?