按照该Microsoft documentation on DTEXEC for executing SSIS packages:SSIS脚本任务错误:“找到SQL Server集成服务2012脚本任务,需要迁移”
When you use the version of the dtexec utility that comes with SQL Server 2012 Integration Services (SSIS) to run a SQL Server 2005 Integration Services (SSIS) or a SQL Server 2008 Integration Services (SSIS) package, Integration Services temporarily upgrades the package to SQL Server 2012 Integration Services (SSIS).
是否有一个功能运行SSIS包时禁用DTEXEC实用这方面?
我这个问题的原因是我有一个脚本任务来重命名SSIS包中的某些文件。这在我的本地机器和同事本地机器上工作得很好,但在将此SSIS包部署到安装了SQL Server 2012的Windows 2012服务器之后,我收到一条错误消息。我真的很困惑,因为我写了这个包在SQL Server 2012数据工具使这个任务不应该需要升级/迁移可言,这是错误的抱怨......
Warning: 2016-04-06 11:29:58.14
Code: 0x00000000
Source: DataMergeScriptTask
Description: Found SQL Server Integration Services 2012 Script Task "my_Script_task" that requires migration!End Warning
Error: 2016-04-06 11:30:03.02
Code: 0x00000001
Source: DataMergeScriptTask
Description: Exception has been thrown by the target of an invocation.End Error
AFAIK此行为是内置的,无法更改。这就是为什么人们经历了将2008年版软件包升级到2012年的痛苦原因。我猜你的错误是由脚本任务中使用的“截断C#或VB.net”的不同版本引起的。您是否尝试升级软件包?任务的问题可能很简单,因为需要稍微区别名称空间引用。 – SebTHU
有趣的是,这个软件包已经成功地使用SQL Server 2012数据工具进行了转换......我甚至用SQL Server 2012数据工具重新编写了一个新软件包,并得到了相同的结果。看起来像SQL服务器数据工具2012脚本任务被破坏。 –
似乎我们可以将我们的C#脚本转换为独立的控制台应用程序/ exe,并将其放在服务器上。我希望我能够在SSIS的背景下为这个问题找到一个解决方案,尽管......非常令人失望。 –