SSIS错误:“ ODBC源”验证失败,并返回验证状态“ VS_NEEDSNEWMETADATA”

时间:2019-09-02 14:52:16

标签: sql-server ssis odbc etl sqlanywhere

我有一个SSIS项目,去年没有任何问题。我现在可以从Visual Studio 2019中无问题地执行不变的程序包,并且可以在SSMS中执行SQL代理作业。

但是,如果我在“数据任务”中打开数据流ODBC源,则会提示我更新“输出”列上的元数据。无论我选择是还是否,并且不对程序包进行其他任何更改,我都会在执行时收到以下错误:

  

“ ODBC源”验证失败,并返回验证状态“ VS_NEEDSNEWMETADATA”。

我认为可能导致此错误的唯一更改是我从服务器上的Visual Studio 2017更新到了Visual Studio 2019。我确实在本地计算机上使用VS 2019,并且存在相同的问题。

ODBC Source正在使用SQL Anywhere 17 32位驱动程序。

我尝试了以下操作,并在执行时继续收到错误:

  • 重新创建了数据流任务,ODBC连接管理器和程序包。
  • 使用DTEXEC / FILE运行软件包。
  • 在ODBC源上将ValidateExternalMetadata设置为False
  • 确认数据源上的“外部”和“输出”列具有相同的数据类型

编辑: 我在VS 2017中使用相同的数据流任务创建了一个新项目。我可以运行和编辑ODBC源,执行时没有任何元数据错误。我在VS 2019中打开了项目,并且在打开ODBC Source时,系统提示我更新元数据。然后在执行时,我收到“ VS_NEEDSNEWMETADATA”错误。关于在VS 2019中更正此问题的任何想法吗?

1 个答案:

答案 0 :(得分:0)

尝试将ODBC Source ValidateExternalMetadata属性更改为False,有关更多信息,您可以在以下链接中查看Matt Masson的(SSIS的前程序经理)答案:

此外,请确保已从项目配置中选择了正确的TargetServerVersion属性: