SSIS包部署到SQL Server 2012

时间:2018-01-23 21:16:25

标签: sql-server vb.net ssis excel-interop ssis-2012

我有一个SSIS包,可以打开Excel工作簿,进行一系列编辑并关闭和保存。它使用一个使用Interop的VB.NET脚本来实现其中的大部分,并且它在VS内运行良好。我已将此包部署到SQL Server,并且在执行包时它从SQL Server失败。 SSIS和SQL Server位于同一台服务器上。

当我将脚本缩减为几个编辑然后关闭并保存时,它从SQL Server运行良好。所以我认为这与许可无关。这几乎就像一些Excel脚本命令只能在SSIS中工作而不能从SQL Server中工作?我是这方面的新手,任何疑难解答提示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

Interop库需要普通用户帐户(Windows帐户)才能打开工作簿。如果它由服务帐户(使用xp_cmdshell运行dtexec)使用,则会失败。它只会打开一个EXCEL进程(Open方法将返回null)。确保使用Windows身份验证运行包。

您也可以使用EXECUTE AS命令使用Windows帐户执行命令

相关问题