Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSIS脚本任务错误:“0”;找到需要迁移的SQL Server Integration Services 2012脚本任务“;_Ssis_Ssis 2012 - Fatal编程技术网

SSIS脚本任务错误:“0”;找到需要迁移的SQL Server Integration Services 2012脚本任务“;

SSIS脚本任务错误:“0”;找到需要迁移的SQL Server Integration Services 2012脚本任务“;,ssis,ssis-2012,Ssis,Ssis 2012,根据: 使用SQL附带的dtexec实用程序版本时 运行SQL Server 2005的Server 2012集成服务(SSIS) 集成服务(SSIS)或SQL Server 2008集成服务 (SSIS)包,集成服务将临时升级包 到SQL Server 2012集成服务(SSIS) 在运行SSIS包时,是否有禁用DTEXEC实用程序此方面的功能 我问这个问题的原因是我有一个脚本任务来重命名SSIS包中的一些文件。这在我的本地计算机和同事的本地计算机上运行正常,但在将此SSIS包部署到安装了SQ

根据:

使用SQL附带的dtexec实用程序版本时 运行SQL Server 2005的Server 2012集成服务(SSIS) 集成服务(SSIS)或SQL Server 2008集成服务 (SSIS)包,集成服务将临时升级包 到SQL Server 2012集成服务(SSIS)

在运行SSIS包时,是否有禁用DTEXEC实用程序此方面的功能

我问这个问题的原因是我有一个脚本任务来重命名SSIS包中的一些文件。这在我的本地计算机和同事的本地计算机上运行正常,但在将此SSIS包部署到安装了SQL server 2012的windows 2012 server后,我收到一条错误消息。我真的很困惑,因为我在SQL Server 2012数据工具中编写了这个包,所以这个任务根本不需要升级/迁移,这就是错误所抱怨的

警告:2016-04-06 11:29:58.14
代码:0x00000000
来源:DataMergeScriptTask
描述:找到需要迁移的SQL Server Integration Services 2012脚本任务“我的脚本任务”

结束警告

错误:2016-04-06 11:30:03.02
代码:0x00000001
来源:DataMergeScriptTask
描述:调用的目标已引发异常

端错误


不幸的是,我们还没有找到不转换为2012的脚本任务的解决方案,因为这些包都是在Data Tools 2012中编写的,打开/重新保存该任务似乎并没有以在服务器上解决它的方式实际升级脚本任务

我的解决方案是将C#脚本转换成一个独立的.exe,它有一些命令行参数来传递不同的参数,并设置默认值以匹配当前环境。然后我将其设置为由windows任务调度器作业调用的批处理脚本执行


我希望能找到一个真正的解决方案,这样更大的软件包中的脚本任务仍然会很好,但这可能需要更多的时间或重新安装数据工具。。。在我的工作站上有多个版本的SQL Server数据工具/投标可能是造成这种悲痛的原因之一。更多的测试即将到来

只需更新包中的TargetServerVersion,使其与计划部署到的服务器版本相匹配

确保你有一份项目副本,以防项目进展不顺利。然后右键单击项目名称,选择属性,然后深入到配置属性->常规并更新TargetServerVersion。
然后重建并部署。当项目生成时,它现在应该是服务器期望的格式,这样它就不会尝试在引用可能不相同的服务器上重新生成脚本代码。

AFAIK此行为是内置的,无法更改。这就是为什么人们要经历从2008年升级到2012年的痛苦。我猜您的错误是由脚本任务中使用的不同版本的“cut-down C#或VB.net”造成的。您是否尝试升级软件包?任务的问题可能很简单,只需要稍微不同的名称空间引用。有趣的是,此包已使用SQL Server 2012数据工具成功转换。。。我甚至用SQLServer2012数据工具在一个新的包中重新编写了整个过程,得到了相同的结果。sql server data tools 2012脚本任务似乎已中断。我们似乎可以将C#脚本转换为独立的控制台app/exe,并以这种方式将其放到服务器上。我希望我能在SSIS的上下文中找到解决此问题的方法,不过。。。非常令人失望。这可能是您目前唯一的解决方案,但一般来说,我建议您不要让SSI调用外部EXE,因为在维护一个环境的过程中,有人经常这样做,这是一个痛苦的经历。这使得部署更加复杂。如果添加配置,情况会变得更糟。从EXE到SSIS的反馈既困难又有限:例如,如果EXE挂起,包也会挂起。您是否尝试过设置断点并进行调试,因为它是一个任务(可调试)而不是一个组件(不可调试)?哦,我不会通过SSIS调用外部EXE;只需使用一个.exe即可在服务器上运行。我们的执行方法是通过windows任务调度器调用批处理作业。看来这将使我们能够运行它!