17

当我尝试运行我的包时出现以下错误。我是新来的。有什么建议么。坦克斯

====================================

包验证错误(包验证错误)

====================================

数据流任务 [SSIS.Pipeline] 出错:“OLE DB 源”验证失败并返回验证状态“VS_NEEDSNEWMETADATA”。

数据流任务 [SSIS.Pipeline] 出错:一个或多个组件验证失败。

数据流任务出错:任务验证期间出现错误。

(Microsoft.DataTransformationServices.VsIntegration)


节目地点:

在 Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(Int32 launchOptions,ProjectItem startupProjItem,DataTransformationsProjectConfigurationOptions 选项)在 Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger. (Int32 launchOptions) 在 Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(Int32 launchOptions, DataTransformationsProjectConfigurationOptions options) 在 Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.Launch(Int32 launchOptions,DataTransformationsProjectConfigurationOptions 选项)

4

6 回答 6

8

VS_NEEDSNEWMETADATA 在其中一项任务背后的基础数据发生更改时显示。最快的解决方案可能是删除并重新创建每个引发错误的元素。

于 2016-02-29T21:29:44.940 回答
5

如何禁用验证检查?

就像您右键单击源或目标组件并选择属性一样,您将拥有名为 validateExternalMetadata 的属性,将其设置为 false 并尝试。

这个解决方案对我有用。

于 2018-11-30T10:30:57.030 回答
2

如果您的架构发生更改,通常会发生这种情况,而不是强调,只需双击您的输入和输出,它应该会自行解决

于 2017-11-29T09:15:13.550 回答
1

确保您的连接有效。如果您使用的是动态连接,请尝试在包或数据流上设置选项“延迟验证”= true。

于 2014-09-12T21:19:40.240 回答
1

在我的情况下,目标表结构与 OLEDB 组件中的元数据不匹配。我添加了我忘记添加的缺失列,之后它被修复了。

于 2017-10-03T11:04:34.433 回答
0

经过一番研究(检查以提取您自己的结论:thisthis one),我想我找到了一个很好的解决方法,可以解决元数据问题来自Ole DB对象的情况,但仅限于非常具体的情况

问题是,当您更改列名称/删除列/添加列时,除了更新元数据之外,您什么也做不了。

但是,如果您使用 aSQL query从对象中检索数据,在您不需要更新查询本身的情况下,如果查询仍然可以要求它想要什么,则您不需要更新元数据。基本上,如果查询仍然有效。

我已经在我自己的 ETL 中尝试过,并更改了一个从文件Ole DB中读取数据的对象,以一个为目标,然后我在选项卡中选择了所有列。Excelsheet

更改它SQL query以检索完整的工作表,例如:

SELECT * FROM ['Sheet_Name$']

完全解决了我的问题,甚至在标题中引入了具有不同元数据的文件。

于 2019-04-25T07:12:12.117 回答