Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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 SSIS包XML源中出错:组件丢失、未注册、不可升级_Sql Server_Xml_Ssis_Runtime Error - Fatal编程技术网

Sql server SSIS包XML源中出错:组件丢失、未注册、不可升级

Sql server SSIS包XML源中出错:组件丢失、未注册、不可升级,sql-server,xml,ssis,runtime-error,Sql Server,Xml,Ssis,Runtime Error,我的SSIS包中有消息 SSIS软件包“C:\GoogleБimk_Сimk_ \UpWork\USPTO\SSIS项目 USPTO\USPTOLoaad\pkgLoad1XMLFile.dtsx“正在启动。错误:0xC004801F位于 数据流任务1,SSIS.Pipeline:XML的组件元数据 源,clsid{8DC69D45-2AD5-40C6-AAEC-25722F92D6FC}无法找到 已升级到组件的较新版本。表演贸易 方法失败。信息:数据流任务1处的0x4004300A, 管道:验

我的SSIS包中有消息

SSIS软件包“C:\GoogleБimk_Сimk_ \UpWork\USPTO\SSIS项目 USPTO\USPTOLoaad\pkgLoad1XMLFile.dtsx“正在启动。错误:0xC004801F位于 数据流任务1,SSIS.Pipeline:XML的组件元数据 源,clsid{8DC69D45-2AD5-40C6-AAEC-25722F92D6FC}无法找到 已升级到组件的较新版本。表演贸易 方法失败。信息:数据流任务1处的0x4004300A, 管道:验证阶段正在开始。错误:0xC0048021位于 数据流任务1,XML源[2]:缺少组件,而不是 已注册、不可升级或缺少必需的接口。这个 此组件的联系信息是“从XML中提取数据” 例如,从XML文件中提取目录数据 表示目录和目录项。使用前,请指定 架构并为每个XML元素生成输出。;Microsoft 公司;Microsoft SQL Server;Microsoft公司;所有权利 保留;”。错误:0xC0047017 在数据流任务1中,SSIS.Pipeline:XML源验证和验证失败 返回错误代码0xC0048021。错误:数据流任务1处的0xC004700C, 管道:一个或多个组件验证失败。错误: 数据流任务1处的0xC0024107:任务执行期间出现错误 验证

Windows SERVER 2012 R2 Microsoft Visual Studio 2015 Shell(集成版)版本14.0.23107.0 D14REL Microsoft.NET Framework版本4.6.01586 SQL SERVER数据工具14.0.61704.140 SQL SERVER集成服务Microsoft SQL SERVER集成服务设计器版本上Oracle VM虚拟机中的SP1环境SQL SERVER 2016 14.0.500.272

我尝试过在false中使用swith Run64位运行时,但没有帮助。 我重新安装了DataTools,没有帮助。 我已经下载并安装了MSXML,没有帮助


仅用于测试的XML文件,具有1个节点。数据流任务中只有一个XML源问题可以通过卸载上一个数据工具版本和安装上一个版本来解决。需要重新创建新的SSIS项目,所以没有从高版本到低版本的转换器。
问题-如何在不降级DataTools版本的情况下安装XML源组件?

我也有同样的问题,因此我将ssis项目的Taget Server版本更改为SQL Server 2016,现在它可以正常工作了

我找到了XML源组件(可能还有其他组件)的部分解决方案:

如果在Visual Studio的最新版本上开发(在我的案例2017中),则必须定义mssql实例的目标版本,以便将包部署到:

要将包部署到MSSQL的较旧版本(在我的示例2012中),必须相应地更改此目标版本。在这一刻,VisualStudio更改了所有对包、对象和版本的引用,而您却遇到了“不可更改”的XML源组件、不可命名的包以及所有这些问题

我认为这是因为在mssql新版本的开发过程中,组件的版本号没有正确更改-这是一个假设

好事情-这花了我一些时间来弄清楚-你改变了目标服务器的版本,一切又恢复了。因此,您的开发过程如下所示:

  • 开发项目/运行调试[TargetServer2017版]
  • 将项目部署到mssql(2012)[TargetServerVersion 2012]
  • 进一步开发项目[TargetServer2017版]
  • 看起来这个“转换”是正确的,可以无限期地完成。这是一个假设