SSIS C# 脚本不兼容

编程入门 行业动态 更新时间:2024-10-21 13:33:16
本文介绍了SSIS C# 脚本不兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我最近接管了一个基于 SSIS ETL 的流程,由于一些许可问题,我不得不从 Data Tools 2013 升级到 2015.大部分项目在升级后幸存下来并且运行良好.但是,在两个包中,我有一个非常简单的 C# 方法(脚本转换)来解析一些导致一些问题的数据.

I've recently taken over a SSIS ETL based process and due to some licencing issues I had to upgraded from Data Tools 2013 to 2015. Most of the project survived the upgrade and runs well. However, in two packages I have a very simple C# method (Script Transformation) to parse some of the data which causes some issue.

目前部署是通过使用build"(不是通过SSIS目录的较新的开发方法)完成的,并且SQL SERVER Job的步骤直接指向dtsx文件.

Currently the deployment is completed by using "build" (not the newer development method via the SSIS catalog) and the SQL SERVER Job's step points directly to dtsx file.

该作业是在 SQL SERVER 2014 中创建的,它按步骤安排 ETL.服务器具有 64 位配置.

The job was created in a SQL SERVER 2014 which schedule the ETL in steps. The server has a 64 bits configuration.

我尝试将 SSIS 项目属性Run64BitRuntime"更改为 False 并强制失败的步骤使用 32 位运行时.此外,我也尝试重新创建具有相同配置的组件,但都不起作用.

I have tried to change the SSIS project property "Run64BitRuntime" to False and force the failing step to use 32 Bit runtime. In addition, I also tried to re-create the component with the same configuration but both did not work.

奇怪的是,当我从 SSIS 运行包时,它成功完成,但工作崩溃并抛出以下错误消息:

The odd part is that when I run the package from SSIS it finishes successfully but the job crushes and throw the following error message:

*"decode" 是转换脚本组件的名称

*"decode" is the name of transformation script component

留言...开始:11:32:30 PM 错误:2015-12-12 23:32:31.26 代码:0xC0047062 来源:stg stg(解码 [2]) 描述:Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException:版本解码与此版本的 DataFlow 不兼容.[[指定组件的版本或管道版本或两者都高于当前版本.此包可能是在新版本的 DTS 上创建的,或者是在当前 PC 上安装的组件之外创建的.]] 在 Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion) End Error Error: 2015-12-12 23:32:31.26 代码:0xC004801F 来源:stg stg (SSIS.Pipeline) 描述:解码"的组件元数据无法升级到较新版本的组件.PerformUpgrade 方法失败.结束错误错误:2015-12-12 23:32:31.28 代码:0xC004801F 来源:stg SSIS.Pipeline 描述:decode, clsid {33D831DE-5DCF-48F0-B431-4D327B9E785}"的组件元数据无法升级组件的较新版本.PerformUpgrade 方法失败.结束错误 错误:2015-12-12 23:32:31.28 代码:0xC0048021 来源:stg decode [2] 说明:组件缺失、未注册、不可升级或缺少所需接口.此组件的联系信息为包含并运行自定义脚本代码.例如,应用限制收入"列中有效值范围的业务规则或将两列中的值相加并计算总和的平均值.;Microsoft Corporation;Microsoft SQL Server;Microsoft Corporation;保留所有权利;www.microsoft/sql/support;9".结束错误错误:2015-12-12 23:32:31.28 代码:0xC0047017 来源:stg SSIS.Pipeline 描述:解码验证失败并返回错误代码 0xC0048021.结束错误 错误:2015-12-12 23:32:31.28 代码:0xC004700C 来源:stg SSIS.Pipeline 描述:一个或多个组件验证失败.结束错误 错误:2015-12-12 23:32:31.28 代码:0xC0024107 来源:stg 说明:任务验证过程中出现错误....

Message ... Started: 11:32:30 PM Error: 2015-12-12 23:32:31.26 Code: 0xC0047062 Source: stg stg (decode [2]) Description: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of decode is not compatible with this version of the DataFlow. [[The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC.]] at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion) End Error Error: 2015-12-12 23:32:31.26 Code: 0xC004801F Source: stg stg (SSIS.Pipeline) Description: The component metadata for "decode" could not be upgraded to the newer version of the component. The PerformUpgrade method failed. End Error Error: 2015-12-12 23:32:31.28 Code: 0xC004801F Source: stg SSIS.Pipeline Description: The component metadata for "decode, clsid {33D831DE-5DCF-48F0-B431-4D327B9E785D}" could not be upgraded to the newer version of the component. The PerformUpgrade method failed. End Error Error: 2015-12-12 23:32:31.28 Code: 0xC0048021 Source: stg decode [2] Description: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "Includes and runs custom script code. For example, apply a business rule that limits the range of valid values in an "income" column or add values in two columns and calculate the average of the sum.;Microsoft Corporation; Microsoft SQL Server; Microsoft Corporation; All Rights Reserved; www.microsoft/sql/support;9". End Error Error: 2015-12-12 23:32:31.28 Code: 0xC0047017 Source: stg SSIS.Pipeline Description: decode failed validation and returned error code 0xC0048021. End Error Error: 2015-12-12 23:32:31.28 Code: 0xC004700C Source: stg SSIS.Pipeline Description: One or more component failed validation. End Error Error: 2015-12-12 23:32:31.28 Code: 0xC0024107 Source: stg Description: There were errors during task validation....

推荐答案

我尝试更新了唯一没有接触过的元素 - SQL Server 2014,但没有任何影响.最终,我决定完全掌控流程,并通过将逻辑下推到数据库来解决这个问题.

I tried to update the only elelment which I haven't touched - SQL Server 2014, but with no impact. Eventually I decided to take full ownership of process and worked around it by pushing down the logic to the database.

更多推荐

SSIS C# 脚本不兼容

本文发布于:2023-11-06 14:21:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1563924.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:脚本   不兼容   SSIS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!