2013-03-01 55 views
2

我有3个SSIS包,其脚本任务都做非常类似的事情 - 查询SQL Server数据库,循环遍历结果,然后调用SOAP web服务为每一行。 这些包在本地运行良好,并且在开发和QA服务器上运行良好。SSIS脚本任务在服务器上失败,出现错误“无法加载脚本执行”

在生产服务器上,1运行正常,2失败,出现“无法加载脚本执行”错误。这些是Server 2008 SP2上的SQL 2008 R2环境。无论运行它们的用户如何,都会发生错误。

到目前为止,我已经试过如下:

  • 运行包在我的开发环境与数据库的连接指向生产(运行正常)
  • 集Run64BitRuntime在项目设置为false。没有区别。
  • 删除软件包并重新部署它
  • 给出对建议的here的/ Windows/Temp的显式写入权限。这是在用代理用户运行时发生的,Sowe尝试了这种修复方法。但是在使用我的管理员帐户运行时出现同样的错误。

我无法在生产服务器上重新编译脚本,因为开发堆栈不在那里,而且它是生产服务器。 我也不能像建议的here那样在此服务器上安装或更新BIDS。

似乎可能需要基于某些人找到的东西来重新编译目标环境上的脚本,但我没有这个选项。

+0

作为代理作业或直接使用执行包实用程序运行并不重要。同样的错误。该属性设置为32位,但。 – cdonner 2013-03-01 20:18:40

+0

我很欣赏你的努力,但脚本不能编译/加载,所以这不是运行时问题。它与安全或环境有关。通过运行的一个包可以很好地访问Web服务。 – cdonner 2013-03-01 20:32:06

+0

我不知道补丁级别。该配置全部由数据库驱动,并且对于所有软件包都是相同的。另外,我只是在其中一个失败的软件包中重新创建脚本任务,将所有代码复制,重新部署,然后瞧,它就可以工作。打败我发生了什么事。 – cdonner 2013-03-01 21:14:13

回答

2

所以,答案不幸的是重建脚本任务。看起来这些东西可能会损坏。我从字面上看没有更改任何一行代码,只是重新创建了任务并从破损版本中复制了代码。

+0

重新创建任务会更改基础XML元数据。它需要重新编译。 – D3vtr0n 2013-03-01 22:21:00

+0

不会在脚本项目中运行“Build”也会更改XML元数据?这并没有达到预期的效果。我想它并没有改变medatadata相当“足够”。重新编译(C#)脚本项目并重新部署软件包并没有帮助。 – cdonner 2013-03-01 22:36:07

3

Microsoft在SSIS2008R2和SSIS2012之间对ScriptTasks进行了重大更改。谢天谢地,修复非常简单。只需更换此行:

? [System.AddIn.AddIn( “ScriptMain”,版本= “1.0” 时,Publisher = “”,描述= “”)] 与此:

? [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute] 和一切应该为你工作的预期。

+0

为我修好了。非常感谢@Ankit – arcee123 2016-10-16 19:07:13

+0

我的荣幸!如果它有帮助,请标记为答案。 – Ankit 2017-10-13 10:38:16

0

也可能是版本不匹配。如果SSIS项目设置为定位SQL Server 2012,但部署到SQL 2016实例,则会发生此错误。更改项目属性中的目标版本并重新部署。

+0

你在哪里更改SSIS项目的目标服务器版本? – 2017-11-21 21:42:25

+0

右键单击该项目,然后单击属性,然后单击配置属性 – 2017-11-22 06:39:03

0

我有类似的问题,但在我的情况下,目标机器在使用Microsoft Webservices3的某些SOAP Web服务调用中缺少GAC中的dll。一旦我从Microsoft下载安装并安装在目标机器上,问题就解决了。