tra*_*zer 5 c# sql sql-server excel ssis
我有一个部署到SQL 2012的SSIS包.如果我执行右键单击并执行,我可以运行该包,但如果我通过SQL Server代理作业运行它,则不能.SSIS包使用Excel互操作来对文件进行一些更改,然后保存它.我的猜测是不允许SQL代理帐户执行此类操作(打开excel应用程序).我已经为admin创建了一个代理,并选择了要作为该代理运行的包.这也行不通.谁知道如何实现我想要的?TYA
Sam*_*Sam 11
试试这个:
创建以下文件夹:
C:\Windows\SysWOW64\config\systemprofile\Desktop
C:\Windows\System32\config\systemprofile\Desktop
Run Code Online (Sandbox Code Playgroud)
说明:
Microsoft不建议通过脚本自动化Excel或其他Office应用程序,因为Office应用程序旨在供人使用,而不是计算机使用.
因此,Excel期望在运行应用程序时存在用户配置文件.SQL Server代理服务不使用现有的用户配置文件(即使在代理用户下启动).当Excel自动化并通过代理启动时,Excel正在查找该用户配置文件信息和桌面文件夹.
代理将该systemprofile
文件夹用作其"用户"目录.
出于某种原因,如果systemprofile文件夹中不存在Desktop文件夹,则自动Excel过程将失败.因此,为32位和64位系统配置文件创建桌面文件夹将解决您的问题.
小智 0
jour SSI 包是否使用共享文件夹或其他内容?有时,SQL 代理在无权访问网络(本地系统)的帐户下运行,因此可能会出现问题。
检查将代理设置为在您的帐户下运行是否存在问题的方法,以便如果有效,您可以创建新帐户并赋予其最低权限...