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
Sql server 使用xp\u cmdshell执行包时出现版本号错误_Sql Server_Ssis - Fatal编程技术网

Sql server 使用xp\u cmdshell执行包时出现版本号错误

Sql server 使用xp\u cmdshell执行包时出现版本号错误,sql-server,ssis,Sql Server,Ssis,我在Server2(2008,64位)上有一个SSIS包,我正在尝试使用xp_cmdshell使用命令从server1(2005,32位)调用它 exec xp_cmdshell 'dtexec /FILE "\\Wdvwd99a0234\PWOSSIS\RTS_SSIS\RTS_ETL.BE_2_DUNSMasterPackage.dtsx"' 它不断地给出错误: Microsoft(R)SQL Server执行包实用程序版本9.00.5000.00 32位版权(C)微软公司1984-200

我在Server2(2008,64位)上有一个SSIS包,我正在尝试使用xp_cmdshell使用命令从server1(2005,32位)调用它

exec xp_cmdshell 'dtexec /FILE "\\Wdvwd99a0234\PWOSSIS\RTS_SSIS\RTS_ETL.BE_2_DUNSMasterPackage.dtsx"'
它不断地给出错误:

Microsoft(R)SQL Server执行包实用程序版本9.00.5000.00 32位版权(C)微软公司1984-2005。所有权利 保留的。空开始:下午1:00:42错误:2012-11-29 13:00:42.83
代码:0xC001700A来源:说明:中的版本号 包无效。版本号不能大于 当前版本号。结束错误:2012-11-29 13:00:42.83
代码:0xC0016020来源:描述:包从迁移 版本3到版本2失败,错误为0xC001700A“版本 包中的编号无效。版本号不能为 大于当前版本号。“。结束错误:2012-11-29 13:00:42.83代码:0xC0010018来源:描述:错误 正在从节点加载值“3” “DTS:财产”。结束错误无法加载包 “\Wdvwd99a0234\pbossis\RTS\u SSIS\RTS\u ETL.BE\u 2\u DUNSMasterPackage.dtsx” 由于错误0xC0010014。描述:无法加载包 由于错误0xC0010014“发生了一个或多个错误。应 在此之前的更具体的错误解释了 错误。此消息用作以下函数的返回值: 密码错误。”。当CPackage::LoadFromXML失败时会发生这种情况。 来源:开始时间:下午1:00:42结束时间:下午1:00:42经过时间:0.078 秒零


无法使用2005软件包实用程序运行2008软件包。

正如其他人所评论的,dtexec.exe的版本需要与目标软件包的版本匹配。你的选择是

  • 在Server1上安装2008集成服务组件。您需要提供dtexec的显式路径,以确保xp\u cmdshell运行2008版本
  • 在远程(Server2)计算机上运行包。最低的入门门槛是在Server2上创建一个SQL代理作业,该作业是非计划的,它只运行包
    RTS_ETL.be_2_DUNSMasterPackage.dtsx
    ,然后启动该作业以代替当前的xp_cmdshell<代码>执行msdb.dbo.sp_start_作业“RTS_ETL.BE_2_DUNSMasterPackage”此方法的两个注意事项
  • 您可以在计算机支持的范围内运行尽可能多的并发dtexec调用。特定SQL代理作业不能运行多次
  • 如果您提供的是动态运行时选项,那么代理作业也不适用

错误消息显示“软件包中的版本号无效。版本号不能大于当前版本号。”由于您正在使用2005工具运行2008软件包,这应该会给您一个关于问题的明确提示。@Pondlife,因此我不能同时使用PSexec?正如其他人详细解释的那样,无法使用2005工具执行2008包。无论您是使用xp_cmdshell、PSexec还是其他方式执行该工具,该工具本身都与包不兼容。如果我尝试使用PSexec,它将从etl服务器打开SSIS包,但出现错误,无法获取所有连接的配置详细信息。包使用哪种配置?xml配置和2数据库连接配置